我有像
这样的mongo文档 {
"_id" : ObjectId("59ad2dbd7549de7c69ef0132"),
"customerId" : "TELEFONICA",
"organization" : "TELEFONICA",
"description" : "",
"events" : [
{
"id" : "abandonCartEvent",
"name" : "Abandoned Cart Event",
"attributes" : [
{
"attrId" : "geoLocation",
"attrName" : "Customer Location",
"defaultValue" : "London"
},
{
"attrId" : "traits",
"attrName" : "Customer Traits",
"defaultValue" : "Sports Lover"
}
]
},
{
"id" : "resumeEvent",
"name" : "Resume Event",
"attributes" : [
{
"attrId" : "geoLocation",
"attrName" : "Customer Location",
"defaultValue" : "London"
},
{
"attrId" : "traits",
"attrName" : "Customer Traits",
"defaultValue" : "Sports Lover"
}
]
},
{
"id" : "cancelEvent",
"name" : "Cancel Event",
"attributes" : [
{
"attrId" : "geoLocation",
"attrName" : "Customer Location",
"defaultValue" : "London"
},
{
"attrId" : "traits_",
"attrName" : "Customer Traits",
"defaultValue" : "Sports Lover"
}
]
}
]
}
我想更新"属性"数组,即我需要修改属性数组的任何一个对象。
有人可以为我提供更新此嵌套文档的解决方案
答案 0 :(得分:0)
你必须等待下一个版本的mongodb。检查this。 直到那个时候,重新设计你的文档结构,使它有一个数组(不是双嵌套数组)或遍历应用程序级别的第二个数组。
答案 1 :(得分:0)
上面你给出了同样的文件,我提到了输出方案,
更新({“customerId”:“TELEFONICA”,“events.id”:“abandonCartEvent”},{$ set:{“events。 0 .attributes。 0 .attrId“:”CustLocation“}})
1a上。如果您要更新 attrId:“traits”
update({“customerId”:“TELEFONICA”,“events.id”:“abandonCartEvent”},{$ set:{“events.0.attributes。 1 .attrId”:“ traidstTest“}})
update({“events.id”:“resumeEvent”},{$ set:{“events。 1 .attributes.0.attrId”:“GeoLocationSS”}})
update({“events.id”:“cancelEvent”},{$ set:{“events.2.attributes.0.attrId”:“GeoLocationSTested”}})
我希望你能理解数组字段的更新。
如果您有任何疑问,请致电(+ 91-9964058121)
由于