所以我们假设我正在创建一个带有部分的列表。跟踪父母的孩子,或跟踪孩子的父母?
是否最好将Array
的ObjectId
保留在父元素中。
var listSchema = new mongoose.Schema({
sections : {type: [ObjectId], ref : "Section"}
});
还是我只是不停地给母公司ObjectId
中的每一项参考,并简单地找到
var sectionSchema = new mongoose.Schema({
list : {type: ObjectId, ref : "List"}
});
(或两者最大的灵活性?)
我一直在做第二方式,但我想我可能会陷入关系数据库范例。因为一旦有多层次的嵌套,它就会变得非常脏,所有的回调都会得到我想要的数据。我真的不能利用填充函数。
这个基本问题已经在StackOverflow和其他地方都被覆盖了很多。 10gen已经记录了各种选项的优点和缺点,这已经很常见了:http://docs.mongodb.org/manual/tutorial/model-tree-structures/ – WiredPrairie
http://stackoverflow.com/search?q=tree +结构+ mongodb – WiredPrairie
谢谢,我来看看。 –