鉴于此文件
{
_id: '123456',
items: [{
itemId: 'abcd',
qty: 1
}, {
itemId: 'defg',
qty: 3
}]
}
我想仅更新某些项目;例如,我只想将itemId = 'abcd'
的数量增加5
,这样生成的文档就会变成
{
_id: '123456',
items: [{
itemId: 'abcd',
qty: 6
}, {
itemId: 'defg',
qty: 3
}]
}
我该怎么做?
答案 0 :(得分:1)
基本上有3个步骤:
1. Select the itemid from items array where value is abcd
2. use $inc property to increament
3. Use $ operator(positional update) to specify that you want to
从要更新的文档中增加数量键。
PFB最终查询:
db.schools.update({
items.itemId: 'abcd'
},{
$inc : { items.$.qty : 5 }
});