MongoDb数据关系
我有一个:
- MongoDB数据库
- NodeJS上的REST API
- Angular JS前端
现在我想创build数据库schma。 这将是:
故事 – 用户插入故事与描述。
问题 – 与故事的关系。 有一个故事可以有100多个问题。
答案 – 与问题的关系。 一个问题只能有一个答案。
我应该在MongoDb中select什么types的关系? 我需要更快的精神。 例如:
{ title: "Story title", descr: "Story descr", questions: [ {body: "Question body", user: "User} ] }
由于每个故事的问题数量可能很大,并且假设在展示故事时不需要显示所有问题(特别是当显示故事列表时),并且由于有许多作者对一个文档有许多复杂性,我会build议以下简单的架构:
stories { _id title description } questions { _id storyId user body answer { ... } }
find一个故事的所有问题很简单( storyId
应该有一个索引),find一个给定问题的故事是微不足道的。 我认为answer
可以embedded。 尽pipe如此,还是要注意并发写入,也就是当别人编写问题时,别人写回答。 当使用一个embedded式文档而不是一个数组时,这比使用一个embedded式文档要容易得多,而并发作者的数量最多可能是两个,而不是几百个。
唯一稍微棘手的操作是删除一个需要您手动删除问题的故事,但这实际上只是一个调用。
- 将数组与包含对象的数组进行比较
- Mongoose中的Mongoose身份validation数据库2.6
- 我想使用Node.js,Sails.js和MongoDB构build像Kinvey的后端服务
- Mongoose / MongoDB – 引用另一个没有ObjectId的模式
- 将mongodb收集数据导出到节点js中的csv文件
- mongoose“二传手”就像“吸气”?
- Mongodb查询说“只有这个领域”,而不是必须一个接一个地拒绝每个领域?
- MongoDB和Mongoose访问一个数据库,同时validation另一个(NodeJS,Mongoose)
- 如何使循环等待node.js中的callback?