【发布时间】:2022-11-14 15:29:30
【问题描述】:
我正在尝试在 Mongo 中编写一个聚合,结果如下所示:请建议我如何构建 Mongo 聚合以实现我的输出。
集合(输入):这里我想根据匹配条件“cf_id”向“wkObj.cFS”对象添加一个键“qf_id”
输入文件:
[
{
"dataObj": {
"dataObj_id": "test_1",
"cFS": {
"data": [
{
"cf_id": "123",
"name": "cf_1"
},
{
"cf_id": "456",
"name": "cf_2"
}
]
}
},
"cfCoreData": [
{
"cf_id": "123",
"qf_id": "QF_1989"
},
{
"cf_id": "456",
"qf_id": "QF_6090"
}
]
}
]
预期结果:
[
{
"cfCoreData": [
{
"cf_id": "123",
"qf_id": "QF_1989"
},
{
"cf_id": "456",
"qf_id": "QF_6090"
}
],
"dataObj": {
"dataObj_id": "test_1",
"cFS": {
"data": [
{
"cf_id": "123",
"name": "cf_1",
"qf_id": "QF_1989"
},
{
"cf_id": "456",
"name": "cf_2",
"qf_id": "QF_6090"
}
]
}
}
}
]
当我尝试以下查询时,它作为数组添加
db.collection.aggregate({
$addFields: {
"dataObj.cFS.data.qf_id": "$cfCoreData.qf_id"
}
})
请提出一种编写 mongo 查询的最佳方法来实现我的结果。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework