我有以下MongoDB查询:
返回两个集合的一些行,一吨有362个网络代码,然后我"加入"这两个集合在一个新数组中,其中包含第二个信息,这些数组我提取了" group"。
db.events.aggregate([
{ $match : { netcode : "N000362" } },
{
$lookup:
{
from: "nodes",
localField: "name",
foreignField: "name",
as: "event_joined"
}
},
{ $unwind: {path: "$event_joined"}},
{ $project : { name : 1, event : 1, "event_joined.group": 1 ,_id:0} },
])
它返回以下结果(还有更多行):
/* 1 */
{
"name" : "GFS_3MSTAFE_RT01",
"event" : "Proactive Interface Output Utilisation",
"event_joined" : {
"group" : "GFS-SUCURSALES"
}
}
/* 2 */
{
"name" : "GFS_3MSTAFE_RT01",
"event" : "Proactive Interface Output Utilisation",
"event_joined" : {
"group" : "GFS-SUCURSALES"
}
}
我想要的是什么:
/* 1 */
{
"name" : "GFS_3MSTAFE_RT01",
"event" : "Proactive Interface Output Utilisation",
"group" : "GFS-SUCURSALES"
}
/* 2 */
{
"name" : "GFS_3MSTAFE_RT01",
"event" : "Proactive Interface Output Utilisation",
"group" : "GFS-SUCURSALES"
}
有办法做到这一点吗?
我尝试了另一个放松,但没有。
答案 0 :(得分:0)
使用computed fields投影嵌入式文档中的值。
{ $project : { name : 1, event : 1, group:"$event_joined.group", _id:0 } }