簡體   English   中英

節點/貓鼬保存帶有錯誤的復雜架構不會保存或更新

[英]Node/mongoose saving complex schema with error doesn't save or update

嗨,我有一個復雜的架構,我試圖保存在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更改回調,則send不是函數。 它甚至不保存。 請讓我知道如何解決它。 謝謝

您無法通過使用set來更新嵌套文檔中的數組字段:

{$ 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)
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM