如何删除填充的字段(猫鼬)

时间:2017-11-14 02:10:37

标签: node.js mongodb mongoose mongoose-populate

我有两个相互关联的模式。我在删除相关字段时遇到问题。我有一个文章模型和一个笔记模型,我想根据文章ID删除笔记。

var article = new Schema({
title:{
    type:String,
    required:true
},
summary:{
    type:String
},
link:{
    type:String,
    required:true
},
note:{
    type: Schema.Types.ObjectId, 
    ref: 'Note' 

 }
})

var note = new Schema({
  title:String,
  body:String

})

到目前为止,我已经厌倦了在我的server.js文件中执行以下操作

var db = require("./models");

app.delete("/articles/:id",function(req,res){
    var id = req.params.id;
    db.Article.findById(id)
    .then(function(dbArticle){
        var noteId = dbArticle.note;
        db.Note.findByIdAndRemove(noteId);

        console.log("success")
    })
    .catch(function(err){
        res.json(err);
    })

到目前为止,我没有成功。

修改

app.delete("/articles/:id",function(req,res){
  var id = req.params.id;
   db.Article.findById(id)
     .then(function(dbArticle){
        var noteId = dbArticle.note;
        return db.Note.findByIdAndRemove(noteId);
    }).then(
        function(){
            res.json({ "message": "success" })
        })
    .catch(function(err){
        res.json(err);
    })

});

0 个答案:

没有答案