【发布时间】:2019-11-19 11:01:02
【问题描述】:
我有一个如下所示的 MongoDB 文档:
"skills" : [
[
ObjectId("5dbaf9dd95e131fb3e23ef47"),
ObjectId("5dc3cd49796b017513c1bc6d"),
ObjectId("5dc3cd52796b017513c1bc75"),
ObjectId("5dc3cd5b796b017513c1bc82")
],
[
ObjectId("5dbaf9dd95e131fb3e23ef47"),
ObjectId("5dbaf7fc251cee32ce4d3f84")
]
],
"names" : [
"John Davis",
"Dan Malko"
]
(名称数组 - 字符串,以及技能数组数组)
我希望结果是:
"skillsWithNames": [
{
"name": "John Davis",
"skills": [
ObjectId("5dbaf9dd95e131fb3e23ef47"),
ObjectId("5dc3cd49796b017513c1bc6d"),
ObjectId("5dc3cd52796b017513c1bc75"),
ObjectId("5dc3cd5b796b017513c1bc82")
]
},
{
"name":"Dan Malko",
"skills":[
ObjectId("5dbaf9dd95e131fb3e23ef47"),
ObjectId("5dbaf7fc251cee32ce4d3f84")
]
}
]
(包含对象的数组,其中每个对象包含名称和技能)。
两个数组的索引相同,所以技能[0]属于人名[0]。
执行此操作的正确查询是什么?
谢谢。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework