如何填充嵌套虚拟机?

时间:2018-12-26 23:32:41

标签: javascript node.js mongoose

我有一个数据集合(匹配项),其中一个虚拟属性引用了另一个集合(名册)。集合(花名册)引用了集合(参与者)中的另一个虚拟属性。我已经成功填充了集合(名册)。但是,我无法填充收藏集(参与者)。

比赛

{
"_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'
    }
  }

我希望在我的比赛实例中有一个填充的参与者实例,但是实际输出是:参与者:{数据:[数组]}。

1 个答案:

答案 0 :(得分:0)

我现在无法测试,但是您是否尝试过在第一个之后添加另一个填充调用,还是尝试过这样的嵌套填充调用:https://stackoverflow.com/a/36659971/2856218