MongoDB增加动态生成的子文档

时间:2017-01-18 09:35:54

标签: javascript mongodb

我有下面的文档,我想动态增加特定购物车项目的数量。由于我在编译时不知道id,因此我无法像往常一样使用$inc运算符。我想知道是否有人知道如何动态增加数量。到目前为止,我已经得到了这个大纲。

当前进度

function userCartAvail(err, success) {
    if (err) { unableToInsert(); }
    if (success) {
      // 1. Check if user already has that item in his/her cart
      let itemExists = false;
      let cart = success.cart;
      if (cart.length >= 1) {
        cart.map(item => {
          if (itemId == item._id) { itemExists = true; };
        });
      }
      // 2. IF item already in cart, increase the quantity
      if (itemExists) {

      }
    }
  }

  User.findOne({ _id: userId }, { cart: 1 }, userCartAvail);

文档

{
    "_id" : ObjectId("587b72870862be18ebc514b1"),
    "firstName" : "John",
    "lastName" : "Doe",
    "verified" : false,
    "dateCreated" : ISODate("2017-01-15T13:00:55.335Z"),
    "cart" : [ 
        {
            "quantity" : 1,
            "_id" : ObjectId("587b6b69799ad7ff650edbb5")
        }, 
        {
            "quantity" : 1,
            "_id" : ObjectId("587b6bedbb5")
        }, 
    ]
}

0 个答案:

没有答案