Javascript 如何填充嵌套的虚拟对象?
我有一个数据集合(匹配项),其中一个虚拟财产引用另一个集合(名册)。集合(名册)引用集合中的另一个虚拟财产(参与者)。我已成功填充集合(名册)。但是,我无法填充集合(参与者) 火柴Javascript 如何填充嵌套的虚拟对象?,javascript,node.js,mongoose,Javascript,Node.js,Mongoose,我有一个数据集合(匹配项),其中一个虚拟财产引用另一个集合(名册)。集合(名册)引用集合中的另一个虚拟财产(参与者)。我已成功填充集合(名册)。但是,我无法填充集合(参与者) 火柴 { "_id": { "$oid": "5c1b99843a71d812af25b10d" }, "type": "match", "id": "0b0ad010-ee86-11e8-b29a-061fc5dc976c", "relationships": { "rosters": {
{
"_id": {
"$oid": "5c1b99843a71d812af25b10d"
},
"type": "match",
"id": "0b0ad010-ee86-11e8-b29a-061fc5dc976c",
"relationships": {
"rosters": {
"data": [
{
"type": "roster",
"id": "8dc6f770-ee88-11e8-b755-9d41e8e54ecc"
},
{
"type": "roster",
"id": "8dc6f774-ee88-11e8-b755-9d41e8e54ecc"
}
]
}
}
}
名册
"_id": {
"$oid": "5c1b99843a71d812af25b151"
},
"type": "roster",
"id": "f51f1250-ee87-11e8-a185-711497405867",
"relationships": {
"participants": {
"data": [
{
"type": "participant",
"id": "f51f1251-ee87-11e8-a185-711497405867"
},
{
"type": "participant",
"id": "f51f1252-ee87-11e8-a185-711497405867"
},
{
"type": "participant",
"id": "f51f1253-ee87-11e8-a185-711497405867"
}
]
}
}
这是我到目前为止所拥有的
Match.find([])
.populate({
path: 'rosters', // virtual
populate: {
path: 'participant', // virtual
model: 'Participant'
}
}
我希望在我的match实例中有一个已填充的参与者实例,但是实际输出是:参与者:{data:[Array]}。我现在无法测试这一点,但是您是否尝试过在第一个填充调用之后添加另一个填充调用,或者尝试过这样的嵌套填充调用: 我想你把
virtuals
和reference
弄错了!mongoose virtuals不需要填充,信息也不存储在DB上@莫森:那是不正确的。在Mongoose4.5中添加了非常有用的“虚拟填充”功能。谢谢!我不知道!