【发布时间】:2015-02-24 01:36:35
【问题描述】:
我想增加在数据库中找到的文档的子文档中元素的数量。
我在文件上的发现有效:
Cart.findOne({_id: '2JKD6eynaYmTGnbiZ',"items.productId": 'inkGTN7T89fqwEqTB' });
返回这个:
{ _id: '2JKD6eynaYmTGnbiZ',
items:
[ { _id: 'LYKPShnDDfYHS8zmx',
productId: 'inkGTN7T89fqwEqTB',
quantity: 1 } ],
sessionId: 'jhizTjhiErYRNKhJW’ }
但我似乎无法通过此更新增加 items 子文档中元素的 qty:
Cart.update({
_id: '2JKD6eynaYmTGnbiZ’, "items.productId": ‘inkGTN7T89fqwEqTB'
}, {
$set: {
updatedAt: new Date()
},
$inc: {
"items.quantity": 10
}
});
我不知道我是否引用错了,我尝试使用items.$.productId 来引用该元素,但在查找时什至不会返回文档。
【问题讨论】:
-
我认为您需要在新字段和更新字段上调用 $set,并添加 { upsert: true },我不确定 $inc 是做什么的。见docs.mongodb.org/manual/tutorial/modify-documents
标签: javascript mongodb meteor database