javascript - 如何使用 mongoDB 中的值数组更新文档数组?
问题描述
我有一个产品集合,客户发布和订单请求以及一个对象数组,每个对象都包含_id产品(objectId)和他购买的数量。
[
{producId: "dshsdsdh72382377923",
quantity: 20
},
{producId: "dsh673sdh72382377923",
quantity: 10
},
{producId: "hjddjkdjkdj676372373",
quantity: 5
},
]
我想查询产品集合并用客户购买的数量减少(更新)每个产品的 numberInStock !我该怎么做 ?
解决方案
根据用户购买的商品数量构建动态查询。选择产品,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}
);
推荐阅读
- python - 我们应该关闭 botocore 的 StreamingBody 吗?
- python-3.x - 如何以矢量化方式将pytorch中单个矩阵的所有行乘以列
- python-3.x - Python - 如何对字典中具有相同值的键进行分组
- apache-spark - PySpark 加载不合适的模型对象时出现问题
- python - 如何在 Python pandas 数据框中拆分这些数据?
- python - Pygame的数字键盘输入?
- php - 根据来自不同表的 id 计算所有行
- visual-studio-code - 如何为 if 语句设置 VSCode 打字稿格式
- node.js - AWS Cognito lambda 触发两次
- python - 如何定义批处理生成器?