【发布时间】:2020-01-14 06:27:07
【问题描述】:
我一直在尝试将updatemany 与猫鼬一起使用。我想使用对象数组更新数据库中的值。
[
{
"variantId": "5e1760fbdfaf28038242d676",
"quantity": 5
},
{
"variantId": "5e17e67b73a34d53160c7252",
"quantity": 13
}
]
我想使用 variantId 作为过滤器。 模型架构是:
let variantSchema = new mongoose.Schema({
variantName: String,
stocks: {
type: Number,
min: 0
},
regularPrice: {
type: Number,
required: true
},
salePrice: {
type: Number,
required: true
}
})
我想使用 variantId 过滤模型,然后减少库存。
【问题讨论】:
-
我认为这不能通过 updateMany 调用来完成,因为您需要将每个文档的库存值减少一个不同的数字。
-
@Vidhyanshu jain:为什么您的架构和示例文档看起来完全不同?你需要猫鼬模式的帮助还是只需要查询?
-
@srinivasy 这不是一个示例文档,而是我收到的一个 json,我将根据 json 的值更新这些值。
-
@Vidhyanshujain : 这个输入
variantId&quantity与实际文档中的匹配是什么? -
@srinivasy variantId 与变体模型的对象 id 匹配。数量会减少库存的价值
标签: node.js mongodb mongoose mongoose-schema