【发布时间】:2020-05-17 17:48:51
【问题描述】:
我需要对数组中的所有文档执行查找阶段。
收藏:
{
{
"name": "test",
"age": 2,
"replies": [
{
"title": "testtt",
"merta_id": 1
},
{
"title": "testiona",
"merta_id": 5
},
{
"title": "the thirth test",
"merta_id": 4
}
]
}
}
mertas 集合:
{
{
_id: 1,
a: "aaaa",
b: "bbbb"
},
{
_id: 5,
a: "AaAA",
b: "BbbB"
},
{
_id: 4,
a: "Aou",
b: "Boo"
}
}
预期输出:
{
{
"name": "test",
"age": 2,
"replies": [
{
"title": "testtt",
"merta_id": 1,
"merta": {
_id: 1,
a: "aaaa",
b: "bbbb"
}
},
{
"title": "testiona",
"merta_id": 5,
"merta": {
_id: 5,
a: "aaaa",
b: "bbbb"
}
},
{
"title": "the thirth test",
"merta_id": 4
"merta":{
_id: 4,
a: "Aou",
b: "Boo"
}
}
]
}
}
我需要一个聚合阶段来对“回复”上的所有文档执行查找并添加一个新的merta 字段,该字段应从mertas 集合中查找。
我尝试使用$map 阶段,但收到错误“无法识别的管道阶段名称:'$lookup'”
【问题讨论】:
-
显示您的
mertas集合文档和预期输出。
标签: mongodb aggregation-framework aggregation