【发布时间】:2020-01-24 17:13:14
【问题描述】:
我有一个如下所示的集合,但我无法执行 $lookup 并以最初的方式返回它,但填充字段:
我已经在我想要填充的字段上创建了 cmets(代理、missions.clients.client)
{
"title":"Tournée libre",
"agent":"5d811943d2a2100017667228", // needs to be populated
"missions":[
{
"_id":"5d8a075346f10d679ab4383e",
"title":"Journée 3",
"clients":[
{
"_id":"5d8a075346f10d679ab4383f",
"valid":true,
"client":"5d1bc39aa2af623b94363b33", // this needs to be populated
"visit_time":"2019-09-24T12:03:38.383Z"
},
{
"_id":"5d8a0dc446f10d679ab43888",
"valid":true,
"client":"5d8a0c8346f10d679ab43886",
"visit_time":"2019-09-24T12:34:23.210Z"
},
]
}
],
"created_at":"2019-09-24T12:08:51.928Z",
"__v":2
}
结果应该是这样的:
{
"title":"Tournée libre",
"agent": {firstname: 'something', lastname: 'something else'}
"missions":[
{
"_id":"5d8a075346f10d679ab4383e",
"title":"Journée 3",
"clients":[
{
"_id":"5d8a075346f10d679ab4383f",
"valid":true,
"client": {firstname: 'something', lastname: 'something else'},
"visit_time":"2019-09-24T12:03:38.383Z"
},
{
"_id":"5d8a0dc446f10d679ab43888",
"valid":true,
"client":{firstname: 'something', lastname: 'something else'},
"visit_time":"2019-09-24T12:34:23.210Z"
},
]
}
],
"created_at":"2019-09-24T12:08:51.928Z",
"__v":2
}
【问题讨论】:
-
.populate(agentmissions.clients.client') 试试看
-
我正在使用填充,但考虑到我正在实现分页并且我有用户角色,我遇到了性能问题。所以我要的是聚合
标签: arrays mongodb mongoose aggregation-framework