为了账号安全,请及时绑定邮箱和手机立即绑定

关于真正地update,本人的做法

if (id) { //如果是更新旧的数据

Movie.findById(id, function (err, movie) { //找到movies下,这部电影的数据

if (err) {

console.log(err);

}

var oldCategoryId = movie.category; //旧的category

var newCategoryId = movieObj.category; //新的category

_movie = underscore.extend(movie, movieObj); //新的对象替换旧的

_movie.save(function (err, movie) { //保存好到movies(更新,同时对应的category也会跟着更新,因为都是movieObj下的内容)

if (err) {

console.log(err);

}

Category.findById(newCategoryId, function (err, newCategory) { //找到想插入的新的分类

if (err) {

console.log(err);

}

newCategory.movies.push(id);

newCategory.save(function (err, result1) {

if (err) {

console.log(err);

}

Category.findById(oldCategoryId, function (err, oldCategory) { //更新旧的这个分类

if (err) {

console.log(err);

}

oldCategory.movies.forEach(function (item, idx, arr) {

if (item == id) { //找到movies数组下这部电影的id

oldCategory.movies.splice(idx, 1) //删除这个元素

oldCategory.save(function (err, result2) {

if (err) {

console.log(err);

}

res.redirect('/movie/' + movie._id) //更新完毕跳转到详情页

})

}

})

})

})

})

})

})

}



正在回答

1 回答

cool~~赞一个,逻辑很严谨

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
node建站攻略(二期)——网站升级
  • 参与学习       51940    人
  • 解答问题       408    个

帮助你深入前后端开发留下的迷惑,为进一步自学打下基础

进入课程

关于真正地update,本人的做法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信