0
我想爲2個集合設置與MongoDb的合併。 集合是嵌套的。 我有2個類別:mongo嵌套連接mongodb
1 /選項
{
"_id": {
"$oid": "58c9866ff36d286bfca335b4"
},
"design": {
"mainPage": {
"imgRight": "58cc750ddc238d05dd6ca525",
"imgLeft": "58cc750ddc238d05dd6ca526"
}
}
}
2 /表格
{
"_id": {
"$oid": "58cc750ddc238d05dd6ca525"
},
"imagePath": "logo.png"
}
我怎樣才能做一個彙總,以得到這樣的結果:
{
"_id": {
"$oid": "58c9866ff36d286bfca335b4"
},
"design": {
"mainPage": {
"imgRight": "58d07571d9d39e50166b5b3d",
"form_docs" : {
"imagePath": "logo.png"
}
"imgLeft": "58cc750ddc238d05dd6ca526",
"form_docs" : {
"imagePath": ""
}
}
}
}
我嘗試下面的代碼片段,但它不起作用:
Options.aggregate([
{ "$unwind": "$design" },
{ "$unwind": "$design.mainPage" },
{
$lookup:
{
from: "forms",
localField: "design.mainPage.imgLeft",
foreignField: "_id",
as: "form_docs"
}
}
])
您沒有放鬆嵌套的文件。本地和外國收藏中您所加入的字段的類型應該相同。目前它的'ObjectId'和'String' – Veeram
謝謝。當我只是做:'Options.aggregate([ {$ 查找: { 從 「形式」, localField: 「design.mainPage.imgLeft」, foreignField: 「_id」, 爲: 「form_docs」 }} ])' 它是不是也工作.. – alan
它不會因爲'design.mainPage.imgLeft'(字符串類型)是'_id'(的ObjectId不同) – Veeram