Arrays 带有集合数组的Mongodb 2集合
我有两个集合,集合B有一个常规设置,第二个集合在字段中有一个ID存储在字段B中的字段中,它需要加入它们以查看结果 收藏AArrays 带有集合数组的Mongodb 2集合,arrays,mongodb,Arrays,Mongodb,我有两个集合,集合B有一个常规设置,第二个集合在字段中有一个ID存储在字段B中的字段中,它需要加入它们以查看结果 收藏A { "_id": { "$oid": "602ece156f898fc3a6da0440" }, "name": "Atlas Adventures 2021", "setup": [{ "_id": {
{
"_id": {
"$oid": "602ece156f898fc3a6da0440"
},
"name": "Atlas Adventures 2021",
"setup": [{
"_id": {
"$oid": "602ece156f898fc3a6da0441"
},
"typ": {
"$oid": "602eca46ad462fc07836d5e2"
},
"cena": 100,
"kapacita": 100
}, {
"_id": {
"$oid": "602ece156f898fc3a6da0442"
},
"typ": {
"$oid": "602eca59ad462fc07836d5e3"
},
"cena": 50,
"kapacita": 200
}],
}
B组
{
{
"_id": {
"$oid": "602eca46ad462fc07836d5e2"
},
"nazev": "12 - 14 let - bez rozlišení\t",
"zkratka": "A",
"__v": 0,
"slozeniMaximum": 2,
"slozeniMinimum": 2,
},
{
"_id": {
"$oid": "602eca59ad462fc07836d5e3"
},
"zkratka": "B",
"nazev": "15-17 let",
"__v": 0,
"slozeniMaximum": 2,
"slozeniMinimum": 2,
}
}
需要
但我不知道怎么做。
我尝试过聚合和管道,但我做错了。根据这个例子,我创建了以下聚合。ObjectId可能有问题
CollectionB.aggregate([{
$lookup: {
from: 'CollectionA',
let: { katId: '$_id' },
pipeline: [
{
$match: {
$expr: { $in: ['$setup.typ', '$$katId'] },
},
}
],
as: 'kategorie',
}
}
我仍然以失败告终您是否检查了查找:?它将略有不同。但是如果读写比率允许,考虑去变性。
CollectionB.aggregate([{
$lookup: {
from: 'CollectionA',
let: { katId: '$_id' },
pipeline: [
{
$match: {
$expr: { $in: ['$setup.typ', '$$katId'] },
},
}
],
as: 'kategorie',
}
}