【发布时间】:2020-02-26 11:59:57
【问题描述】:
我有一个文档,其中包含一个数组,如下所示。 这是第一份文件。
{
"_id": "5d932a2178fdfc4dc41d75da",
"data": [
{
"nestedData": [
{
"_id": "5d932a2178fdfc4dc41d75e1",
"name": "Special 1"
},
{
"_id": "5d932a2178fdfc4dc41d75e0",
"name": "Special 2"
}
]
}
]
}
我需要在聚合框架的nestedData数组中查找(加入)另一个具有_id的集合。
我需要查找的第二个文档是
{
"_id": "5d8b1ac3b15bc72d154408e1",
"status": "COMPLETED",
"rating": 4
}
我知道我需要 $unwind 两次才能将 nestedData 数组转换为对象。 但是我如何再次分组以形成相同的对象,如下所示
{
"_id": "5d932a2178fdfc4dc41d75da",
"data": [
{
"array": [
{
"_id": "5d932a2178fdfc4dc41d75e1",
"name": "Special 1",
"data": {
"_id": "5d8b1ac3b15bc72d154408e1",
"status": "COMPLETED",
"rating": 4
},
{
"_id": "5d932a2178fdfc4dc41d75e0",
"name": "Special 2",
"data": {
"_id": "5d8b1ac3b15bc72d154408e0",
"status": "COMPLETED",
"rating": 4
},
}
]
}
]
}
【问题讨论】:
-
请把这两个collection分享给你想要的收藏
-
@MaheshBhatnagar 我已附上两份文件。请看一看。
标签: mongodb aggregation-framework