首页 > 解决方案 > 如何使用 mongoDB 中的值数组更新文档数组?

问题描述

我有一个产品集合,客户发布和订单请求以及一个对象数组,每个对象都包含_id产品(objectId)和他购买的数量。

[
{producId: "dshsdsdh72382377923",
quantity: 20
},
{producId: "dsh673sdh72382377923",
quantity: 10
},
{producId: "hjddjkdjkdj676372373",
quantity: 5
},
]

我想查询产品集合并用客户购买的数量减少(更新)每个产品的 numberInStock !我该怎么做 ?

标签: javascriptmongodbmongoose

解决方案


根据用户购买的商品数量构建动态查询。选择产品,productId然后减少数量customerValue

let customerValue = 4; // Let's say the customer bought 4 items
let query = {};
query['quantity'] = -customerValue;
db.collection.updateOne(
 {producId : "hjddjkdjkdj676372373"},
 {$inc: query}
);

推荐阅读