节点/猫鼬保存错误的复杂模式不会保存或更新

J.戴维森

嗨,我有一个复杂的架构,我试图将其保存在 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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

猫鼬不将更新的文档保存到数据库

来自分类Dev

猫鼬findOne()调用未保存且输出无错误

来自分类Dev

节点和猫鼬-保存时出错:TypeError:在非对象上调用了Object.keys

来自分类Dev

猫鼬保存参考模型

来自分类Dev

猫鼬模型保存错误E11000

来自分类Dev

关于保存的猫鼬错误?

来自分类Dev

猫鼬预保存bcrypt未保存

来自分类Dev

在猫鼬中保存嵌套模式

来自分类Dev

猫鼬不会保存大量文字

来自分类Dev

使用猫鼬挂钩重试保存重复的密钥错误

来自分类Dev

如何在同步模式下保存猫鼬?

来自分类Dev

猫鼬不保存数据没有错误

来自分类Dev

猫鼬保存错误

来自分类Dev

猫鼬保存失败而没有错误

来自分类Dev

当我使用Model.findOneAndUpdate时,不会调用用于保存和更新的猫鼬预钩子

来自分类Dev

在节点express.js项目中使用猫鼬保存文档时出错

来自分类Dev

猫鼬退出.map(...)循环后不会保存数组

来自分类Dev

猫鼬模式检查是否首次保存了模型实例

来自分类Dev

保存猫鼬模型时更新会话数据

来自分类Dev

猫鼬模式发布'保存'回调顺序

来自分类Dev

猫鼬保存后更新

来自分类Dev

猫鼬模式创建错误

来自分类Dev

猫鼬保存返回正确的已保存对象,但不会保存到数据库

来自分类Dev

猫鼬保存不是使用模式的功能

来自分类Dev

更新均值堆栈/节点/猫鼬模型

来自分类Dev

节点/猫鼬错误:ValidationError

来自分类Dev

猫鼬保存空数组

来自分类Dev

保存猫鼬模式而不创建新模式

来自分类Dev

在保存或更新时自动设置猫鼬模式属性