如何使用JavaScript在mongodb中的文档的子文档中增加值
我想增加在数据库中找到的文档的子文档中元素的数量 我在文件上的发现有效:如何使用JavaScript在mongodb中的文档的子文档中增加值,javascript,mongodb,meteor,database,Javascript,Mongodb,Meteor,Database,我想增加在数据库中找到的文档的子文档中元素的数量 我在文件上的发现有效: Cart.findOne({_id: '2JKD6eynaYmTGnbiZ',"items.productId": 'inkGTN7T89fqwEqTB' }); 退回此邮件: { _id: '2JKD6eynaYmTGnbiZ', items: [ { _id: 'LYKPShnDDfYHS8zmx', productId: 'inkGTN7T89fqwEqTB', qu
Cart.findOne({_id: '2JKD6eynaYmTGnbiZ',"items.productId": 'inkGTN7T89fqwEqTB' });
退回此邮件:
{ _id: '2JKD6eynaYmTGnbiZ',
items:
[ { _id: 'LYKPShnDDfYHS8zmx',
productId: 'inkGTN7T89fqwEqTB',
quantity: 1 } ],
sessionId: 'jhizTjhiErYRNKhJW’ }
但我似乎无法使用此更新来增加items子文档中某个元素的数量
:
Cart.update({
_id: '2JKD6eynaYmTGnbiZ’, "items.productId": ‘inkGTN7T89fqwEqTB'
}, {
$set: {
updatedAt: new Date()
},
$inc: {
"items.quantity": 10
}
});
我不知道引用它是否错误,我尝试使用项。$.productId
引用元素,但在查找时甚至不会返回文档。您需要使用表示$inc
中匹配的项的索引的:
Cart.update(
{
_id: '2JKD6eynaYmTGnbiZ', "items.productId": 'inkGTN7T89fqwEqTB'
}, {
$set: {
updatedAt: new Date()
},
$inc: {
"items.$.quantity": 10
}
});
我想您只需要在新字段和更新字段上调用$set,然后添加{upsert:true},我不确定$inc做什么。看见