我目前正在撰写论文,需要在图表中显示MongoDB的架构。我没有找到有关基于文档的数据库的图表的资源。
关系数据库有实体关系图(ERD)。我有什么选择MongoDB?我注意到很多博客只是将原始JSON显示为他们的“图表”,但这在我的论文中是不可行的。
以下是我的一个JSON结构示例:
//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"
}
这可能是一个可能的图表:
答案 0 :(得分:25)
我们发现类图实际上是表示mongo架构设计的最佳方式之一。
它可以捕获文档将拥有的大多数项目,例如数组,嵌入对象甚至引用。
我们用来将概念与uml相关联的一般指南
嵌入 =合成聚合
参考 =关联类
如果您不熟悉uml术语,那么这是一个不错的介绍。
答案 1 :(得分:1)
有一个为MongoDb做图表的工具,叫做DbSchema。它通过从db扫描数据来发现架构。我还建议尝试两种功能: