给定这样的文件
{
_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
}]
}
我怎么做?
最佳答案
基本上有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 }
});