假设我们有一个模式A,它看起来像:
{ b: { type: Schema.Types.ObjectId, ref: 'B' }
,
类型B看起来像:
{ c: { type: Schema.Types.ObjectId, ref: 'C' }
,
和类型C看起来像:
{ name: String }
。
有没有办法使用MongooseJS的populate实用程序来获取多个引用的文档?在这个例子中,我们可以通过
找到A的bA.findOne({ id: someId })
.populate('b')
...
但我们可以通过A获得b的c吗?
答案 0 :(得分:3)
目前不是。对此的一些支持即将到来。
答案 1 :(得分:0)
我认为事情已经改变了两年。以下Model.populate()使用:
A.findOne({id: someId})
.populate('b')
.exec()
.then(function(data) {
// returns a promise about populating a.b.c:
return C.populate(data, {path: 'b.c'});
});
详细信息可以在3.6'发行说明中找到: https://github.com/LearnBoost/mongoose/wiki/3.6-Release-Notes#added-modelpopulatedocs-opts-cb