我正在尝试使用mongo db实现博客文章存储。
我有两个域实体:
“博客帖子”和“作者”
目前我已将AuthorId属性添加到博客帖子实体。这是存储对象之间关系的正确方法吗?
答案 0 :(得分:19)
我认为这篇文章适合您http://www.mongodb.org/display/DOCS/Schema+Design
使用案例
客户/订单/订单行项目
订单应该是一个集合。客户收藏。 line-items应该是一个嵌入在订单对象中的行项目数组。
博客系统。
帖子应该是一个集合。作者可能是一个单独的集合,或者仅仅是一个电子邮件地址的帖子中的字段。注释应该是帖子中的嵌入对象以提高性能。
架构设计基础
Kyle Banker,10gen
索引&查询优化 Alvin Richards,企业工程高级总监
http://www.10gen.com/presentation/mongosf-2011/mongodb-indexing-query-optimization
**这两个视频是mongoddb上见过的最好的视频imho *
答案 1 :(得分:9)
目前我已将AuthorId属性添加到博客帖子实体。这是存储对象之间关系的正确方法吗?
我会说不。您“应该”以非规范化方式在博客文档中存储您需要的所有内容(例如博客文章,评论,标签等)。因此,如果要显示作者姓名,则应将其添加到博客文档中。这将允许使用单个查询获取整个页面的数据,这有点面向文档的数据库。