我目前正在尝试执行以下操作,但出现错误。你们有没有遇到过同样的错误?见下文:
productId
和quantity
products
数组products
数组是否具有productId
的{{1}},是否更新数量,如果不更新则不添加新对象< / li>
param.productId
{ productId: 5c75429600177d1c184c6541, quantity: 5 }
{
userId: mongoose.ObjectId,
sessionId: String,
products: [
{
productId: mongoose.ObjectId,
quantity: Number
}
]
}
const cart = await models.Cart.findOneAndUpdate({
$or: [
{ $and: [ { userId }, { checkedOut: false } ] },
{ $and: [ { sessionId }, { checkedOut: false } ] }
]
}, {
$set: {
userId,
sessionId,
"products.$[product].quantity": quantity
}
}, {
arrayFilters: [ { "product.productId": { $eq: productId } } ],
upsert: true,
new: true,
runValidators: true,
setDefaultsOnInsert: true
})