您好我是mongoDB和Mongoid的新手,对于何时使用嵌入式文档以及嵌入的深度有点困惑。
这是一个虚构的例子:
Library collection has_many :books, which embeds_many :pages, which embeds_many :sections
由于我无法直接说出一个部分,我必须通过books.pages.sections,对吗?
这将导致此路线libraries/:id/books/:id/pages/:id/sections/:id
这看起来有点疯狂,最佳做法是只嵌套一层深,对吧?
一种方法是使用路由pages/:id/sections/:id
,然后将bookid粘贴在请求中?
查询说,部分会更难吗?例如,如果我需要查找部分标记为x的所有书籍?
但是,如果我没有一直嵌入,我会有额外的查询?
有人能说些什么吗?感谢。
答案 0 :(得分:6)
首先,我相信没有人可以给你正确的答案,你应该有多深入地嵌入文件。它高度依赖于您的具体项目要求。通常,您应该回答一些问题以选择适当的架构设计:
如果你回答1,2-true; 3我需要独立展示它们(不同的页面); 4,5 - 那么我确信嵌入会对你的屁股造成某种痛苦。
我想,额外的查询应该不是问题。