Как убрать заполненное поле (мангуст)

У меня есть две схемы, которые связаны друг с другом. И у меня возникли проблемы с удалением соответствующего поля. У меня есть модель статьи и модель заметки, и я хотел бы удалить заметки на основе идентификатора статьи.

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 ответов

Другие вопросы по тегам