我是mongo的新手,需要您的帮助。
我有一个名为studijneProgramy的集合。这是一个示例文档:
{
"_id" : "dGFY",
"garranti" : [
{
"typ" : {
"sk" : "garant",
"en" : "Chairman of study board"
},
"id" : "1025769"
},
{
"typ" : {
"sk" : "predseda odborovej komisie",
"en" : "Chairman of study board"
},
"id" : "1025769"
}
]
}
接下来我有一个名为osoby的集合。
示例文档:
{
"_id" : "1025769",
"plneMeno" : "prof. RNDr. Peter Moczo, DrSc.",
"priezvisko" : "Moczo",
"meno" : "Peter",
"jeGarantProgramu" : "dGFY/x"
}
我需要的是将来自Osoby的文档添加到数组Garranti中相应的文档中(其中studijneProgramy.garanti.id == osoby._id)。这是我期望的结果:
{
"_id" : "dGFY",
"garranti" : [
{
"typ" : {
"sk" : "garant",
"en" : "Chairman of study board"
},
"id" : "1025769"
"garant":{
"_id" : "1025769",
"plneMeno" : "prof. RNDr. Peter Moczo, DrSc.",
"priezvisko" : "Moczo",
"meno" : "Peter",
"jeGarantProgramu" : "dGFY/x"
}
},
{
"typ" : {
"sk" : "predseda odborovej komisie",
"en" : "Chairman of study board"
},
"id" : "1025769"
"garant":{
"_id" : "1025769",
"plneMeno" : "prof. RNDr. Peter Moczo, DrSc.",
"priezvisko" : "Moczo",
"meno" : "Peter",
"jeGarantProgramu" : "dGFY/x"
}
}
]
}
我尝试了这个聚合,但它替换了garranti的内容。
db.studijneProgramy.aggregate([
{
$lookup:
{
from:"osoby",
localField:"garranti.id",
foreignField:"_id",
as:"garranti.garant"
}
}
]
).pretty()
任何帮助都将不胜感激!