我有下面的文档,我想动态增加特定购物车项目的数量。由于我在编译时不知道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")
},
]
}