查找一个对象后,猫鼬在一个集合中聚合合并数据
Mongoose aggregate merge data in one collection after lookup to one object
我有一个集合 A,其中的数据类似于
{
id: 2,
name: "test"
},
{
id: 4,
name: "test4"
}
我有第二个集合 B,其中的数据如下:
{
id: 444,
name: "a",
colA_id: 2
},
{
id: 555,
name: "b",
colA_id: 2
},
{
id: 555,
name: "c",
colA_id: 10
},
聚合两个集合后,我想要这样的输出:
{
id: 2,
name: "test",
list_of_b: {
{
id: 444,
name: "a",
colA_id: 2
},
{
id: 555,
name: "b",
colA_id: 2
},
}
}
我尝试合并,但是每次都只能得到数据库的一条记录。
这只是一个简单的查找
数据库是
db={
"collA": [
{
id: 2,
name: "test"
},
{
id: 4,
name: "test4"
}
],
"collB": [
{
id: 444,
name: "a",
colA_id: 2
},
{
id: 555,
name: "b",
colA_id: 2
},
{
id: 555,
name: "c",
colA_id: 10
}
]
}
聚合是
db.collA.aggregate([
{
"$lookup": {
"from": "collB",
"localField": "id",
"foreignField": "colA_id",
"as": "list_of_b"
}
}
])
我有一个集合 A,其中的数据类似于
{
id: 2,
name: "test"
},
{
id: 4,
name: "test4"
}
我有第二个集合 B,其中的数据如下:
{
id: 444,
name: "a",
colA_id: 2
},
{
id: 555,
name: "b",
colA_id: 2
},
{
id: 555,
name: "c",
colA_id: 10
},
聚合两个集合后,我想要这样的输出:
{
id: 2,
name: "test",
list_of_b: {
{
id: 444,
name: "a",
colA_id: 2
},
{
id: 555,
name: "b",
colA_id: 2
},
}
}
我尝试合并,但是每次都只能得到数据库的一条记录。
这只是一个简单的查找
数据库是
db={
"collA": [
{
id: 2,
name: "test"
},
{
id: 4,
name: "test4"
}
],
"collB": [
{
id: 444,
name: "a",
colA_id: 2
},
{
id: 555,
name: "b",
colA_id: 2
},
{
id: 555,
name: "c",
colA_id: 10
}
]
}
聚合是
db.collA.aggregate([
{
"$lookup": {
"from": "collB",
"localField": "id",
"foreignField": "colA_id",
"as": "list_of_b"
}
}
])