嗨,我有一个复杂的架构,我试图将其保存在 mongodb 中,但遇到了问题。
const itemsSchema =new Schema({
cat: {type: String, required: true},
catItems: [{
items:{type: String},
isActive: {type: Boolean, default: true}
}]
});
module.exports=mongoose.model('CatItem', itemsSchema, 'catitems');
使用猫鼬我像这样保存它....
CatItem.findOneAndUpdate({'_id': req._id, 'catItems._id': req.catItems._id}, {$set: {catItems.items: req.catItems.items}, {upsert: true}, (err, catitems) =>{
If(err) return callback(err);
return (catitems)
});
当我尝试使用上面的方法保存它时,它不会保存不会给出任何特定错误,只是回调不是函数。如果我再次使用 res.send 更改回调,则发送不是函数。它甚至不保存。请让我知道如何修复它。谢谢
您无法使用如下设置更新嵌套文档中的数组字段:
{$set: {catItems.items: req.catItems.items}
改用:
{$set: {catItems.0.items: req.catItems.items} for updating the first record of
the array. or instead manipulate in middleware function.
like:
CatItem.findOneAndUpdate({'_id': req._id, 'catItems._id': req.catItems._id},
(err, catitems)=>{
catItems.items = req.catItems.items;
catItems.save();
return (catitems)
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句