我目前正在写一篇论文,需要在图表中显示我的MongoDB的模式.我没有找到关于基于文档的数据库的图表的资源.

关系数据库有实体关系图(ERD).MongoDB有哪些选项?我注意到很多博客只是将原始JSON显示为"图表",但在我的论文中这是不可行的.

下面是我的一个JSON struct 示例:

//MultiChoiceQuestion
{
    "title": "How are you?",
    "valid_answers" : [
        {
            "_id" : ObjectID(xxxx),
            "title": "Great",
            "isCorrect": true,
        },
        {
            "_id" : ObjectID(yyyy),
            "title": "OK",
            "isCorrect": false,
        },
        {
            "_id" : ObjectID(zzzz),
            "title": "Bad",
            "isCorrect": false,
        }
    ],
    "user_responses" : [
        {
            "user": ObjectID(aaaa),
            "answer": ObjectID(xxxx)
        },
        {
            "user": ObjectID(bbbb),
            "answer": ObjectID(xxxx)
        },
        {
            "user": ObjectID(cccc),
            "answer": ObjectID(yyyy)
        }
    ]
}

//User
{
    "_id": ObjectID(aaaa),
    "name": "Person A"
}
//User
{
    "_id": ObjectID(bbbb),
    "name": "Person B"
}
//User
{
    "_id": ObjectID(cccc),
    "name": "Person C"
}

这可能是一个图表:

推荐答案

我们发现类图实际上是表示mongo模式设计的最佳方式之一.

它可以捕获文档中的大多数项,例如数组、嵌入对象甚至引用.

我们用来将概念与uml联系起来的一般准则

Embed=成分聚合

Reference=协会类

如果你不熟悉uml术语,那么这是一个不错的介绍.

UML intro from IBM site

Mongodb相关问答推荐

使用查询参数过滤MongoDB Go驱动程序时出现问题

MongoDB索引使用

如何用Python和MongoDB找到单据字段的最大值?

如何填充Mongoose中的嵌套引用

所有文档中嵌套 struct 中的条件匹配-mongodb

MongoDB 聚合 - 条件 $lookup 取决于字段是否存在

Mongodb,在一个查询中用正则表达式更新部分字符串

MongoDB 聚合使用 $match 和 $expr 和数组

如何在 Spring-Data-MongoDB 中使用 $facet、$addFields 和 $function

从嵌套数组中 id 匹配的另一个集合中获取所有字段

有谁知道这个错误的修复方法(TypeError: Cannot assign to read only property ‘map’ of object '#')

为什么使用整数作为 pymongo 的键不起作用?

Mongo C#忽略属性

Meteor 如何接收对 MongoDB 查询结果的更新?

Mongodb 约定包

是否有适用于 Linux 的 MongoDB GUI 桌面应用程序?

mongoose得到`TypeError: user.save is not a function` - 出了什么问题

PyMongo 中的警告消息:count is deprecated

通过浏览器连接mongodb?

mongoose中的 Date.now() 和 Date.now 有什么区别?