我查看了mongo网站上的大多数mongodb架构设计文章以及SO上的大部分问题.还有一个我还没想到的用例.在查看这些教程时,他们通常会参考文章评论问题和产品/类别问题.我想弄清楚在查询帖子列表时如何建模一对多关系(作者到帖子).以下是示例模式:
Users: { _id: ObjectID Name: String Email: String } Posts: { _id: ObjectID user_id: ObjectID body: String comments: [ body: String ] }
现在,假设您要对最近的10个帖子运行查询.一个非常简单的查询,但现在你有一些帖子,每个帖子都有一个指向用户的唯一ObjectID.现在,您应该如何完成获取帖子的每个用户的姓名和电子邮件.
您应该从posts查询创建用户ObjectID的数组,然后运行查询db.users.find({_ id:{$ in:PostsUserIDArray}}); 之后,您会使用您的应用程序逻辑将正确的用户信息与正确的帖子相匹配吗?
您是否应该在帖子中保留数据的副本.IE在posts表中保留用户ID,名称和电子邮件.然后,当用户更新此信息以更新帖子中的所有信息时,只需一个钩子.
我或我的朋友没有想过的选项.
当我尝试围绕mongo数据建模时,我感谢所有的帮助.