Mongo DB对象之间的关系

Ale*_*rov 8 document-oriented-db mongodb nosql

我正在尝试使用mongo db实现博客文章存储.

我有两个域实体:

"博客帖子"和"作者"

目前我已将AuthorId属性添加到博客帖子实体.这是存储对象之间关系的正确方法吗?

kil*_*anc 20

我认为这篇文章适合您http://www.mongodb.org/display/DOCS/Schema+Design

用例

客户/订单/订单行项目

订单应该是一个集合.客户收藏.line-items应该是一个嵌入在订单对象中的行项目数组.

博客系统.

帖子应该是一个集合.作者可能是一个单独的集合,或者仅仅是一个电子邮件地址的帖子中的字段.注释应该是帖子中的嵌入对象以提高性能.

架构设计基础

Kyle Banker,10gen

http://www.10gen.com/presentation/mongosf2011/schemabasics

索引和查询优化Alvin Richards,企业工程高级总监

http://www.10gen.com/presentation/mongosf-2011/mongodb-indexing-query-optimization

**这两个视频是有史以来在mongoddb看到的最好的视频


Pas*_*ent 9

目前我已将AuthorId属性添加到博客帖子实体.这是存储对象之间关系的正确方法吗?

我会说不.您"应该"以非规范化的方式在博客文档中存储您需要的所有内容(例如博客文章,评论,标签等).因此,如果要显示作者姓名,则应将其添加到博客文档中.这将允许使用单个查询获取整个页面的数据,这有点面向文档的数据库.

  • 重命名用户虽然变得非常昂贵! (6认同)
  • @Blankman:是的.尽管如此,我认为面向文档的db的哲学是在一个查询中获取整个文档.顺便说一句,[重命名用户]/[显示博客文章]的比例是多少?我认为它非常低**. (2认同)