我有两个相互关联的模式。我在删除相关字段时遇到问题。我有一个文章模型和一个笔记模型,我想根据文章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);
})
});