MongoDB以原子方式更新outter和array-embedded文档

时间:2015-02-17 16:16:16

标签: mongodb

我在cart集合中有一个对象:

{
    _id: 1,
    purchased: 0,
    items: [
    {
        item_id: 5,
        count: 0
    },
    {
        item_id: 6,
        count: 0
    },
   ]

}

我想原子地增加item_id的purchasedcount:6。我相信正确的更新命令是:

db.carts.update({_id: 1, "items.item_id": 6}, 
{
    $inc: {
        purchased: 1
        "items.$.count": 1
    } 
})

这似乎在控制台中有效,但我不确定这是否100%正确。任何人都可以发现此更新命令的任何问题或确认这对我的用例是正确的吗?

要将此缩放到我的应用,假设_id是ObjectId,item_id也是ObjectId(即它们是唯一的)。

0 个答案:

没有答案
相关问题