猫鼬从数组中删除单个对象

时间:2018-11-09 09:37:09

标签: node.js mongodb mongoose

我有以下邮件模式:

var mail = new mongoose.Schema({
    from: {type: String, required: true},
    subject: {type: String, required: true},
    text: {type: String},
    note: {type: String},
    createdAt: {type: Date, required: true},
    files: [
        {
            fileName: {type: String},
            fileSize: {type: Number},
            fileType: {type: String}
        }
    ]
});
mongoose.model('Mail', mail);

我使用以下代码从邮件中删除了单个文件,但所有文件均被删除了:(

  Mail.update({_id: mailId}, {"$pull": {"files": {"fileName": file.fileName}}}).exec(function (err, obj) {
         //do something 
  });

我尝试了很多解决方案,请有人可以给我解决这个问题的方法。

2 个答案:

答案 0 :(得分:0)

尝试直接使用if ... then ... else ...代替deleteupdateremovefindByIdAndRemove吗?

答案 1 :(得分:0)

抱歉,这是我的代码中的问题