我有像下面的猫鼬模型,
var product = new mongoose.Schema({
productName: String,
manufacturer: String,
shotDescription: String,
longDescription: String,
colorNsize: [{
color: String,
size: [{
sizeId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'productSizes'
},
MRP: Number,
storePrice: Number,
stock: Number
}]
}]
});
我正在尝试更新文档的colorNsize字段。我的目标是将新项目推送到colorNsize数组的size数组中。
由于size是另一个数组中的数组,因此我很难更新。
我尝试了以下
product.findOneAndUpdate({
_id: req.body.productId
}, {
$push: {
colorNsize: {
color: req.body.color,
$push: {
size: req.body
}
}
}
}, {
new: true
},
function (err, data) {
return res.json(data);
});
有人可以帮助我吗?
答案 0 :(得分:0)
您可以尝试这样的事情:
product.findOneAndUpdate({ _id: req.body.productId },
{
$set: {colorNsize.color: req.body.color},
$push: {colorNsize.size: req.body}
},
{ upsert: true, new: true},
function (err, data) {
if(err){ return res.json(err);}
else{return res.json(data);}
});