搜尋

首頁  >  問答  >  主體

node.js - 如何在mongoose中刪除陣列元素

現在有兩個schema一個是學生,一個是學生的就業資訊

var Student = new mongoose.Schema({
    jobs:[{
        type:ObjectId,
        ref: 'job'
    }]
});

var job = new mongoose.Schema({
    student:{
        type: ObjectId,
        ref: 'student'
    }
})

删除一条job文档的时候如何把学生文档的jobs数组中该job的ObjectId也删了,
我用了如下的写法:
Job.remove({_id:_id}, function(err,job){
    var jobId = job._id;
    Student.update({_id:StudentId},{
    $pull:{jobs:{ObjectId: jobId}}
    }, function(){})
})

這樣會報錯,請問正確寫法是什麼

PHPzPHPz2739 天前1293

全部回覆(1)我來回復

  • 阿神

    阿神2017-05-24 11:37:44

    畫蛇添足的感覺,這裡都是引用而已,在 populate 的時候才會填充真實的資料庫中的數據,被刪掉的數據怎麼可能被引用得到?

    回覆
    0
  • 取消回覆