{
"_id" : O5,
"bazar" : {
"indiraBazar" : {
"units" : "taka",
"no" : 560,
"value" : 0.90
},
"dhakaBazar" : {
"no" : "no item",
"value" : 1
},
"kolaBazar" : {
"no" : "unlimited",
"value" : 4
}
},
"vat" : false,
"total" : 2
}
说上面的文件在bazars
集合下。在这里,我如何将value
的{{1}}从4提交到5?
答案 0 :(得分:3)
查询将按要求更新:db.bazars.update({'bazar.kolaBazar.value': 4}, {$set: {'bazar.kolaBazar.value':NumberInt(5)}})
。
编辑:该查询也有效:db.bazars.update({'id': 06}, {$set: {'bazar.kolaBazar.value':NumberInt(5)}})
但我会更改架构以简化您的查询。
{
"_id" : "O6",
"bazar" : [
{
"_id" : "indiraBazar",
"units" : "taka",
"no" : 560,
"value" : 0.9
},
{
"_id" : "dhakaBazar",
"no" : "no item",
"value" : 1
},
{
"_id" : "kolaBazar",
"no" : "unlimited",
"value" : 4
}
],
"vat" : false,
"total" : 2
}
新查询为db.bazars.update({'bazar._id':'kolaBazar'}, {$set:{'bazar.$.value':NumberInt(5)}})
答案 1 :(得分:0)
只需将其视为'dot.separated.nested.properties'
所以你的案例中会{$set: {'bazar.kolaBazar': 5}}