求助: express建站,mangodb中添加记录,不会进入save回调. - CNode技术社区

求助: express建站,mangodb中添加记录,不会进入save回调.
发布于 10 年前 作者 xjchenhao 3797 次浏览 最后一次编辑是 9 年前 来自 问答

最近在学express建站,写了一个电影网站的demo,遇到一点问题,百思不得其解,求大神指点.

问题描述: 在新增记录的时候,表单填写完成点击导入,请求发送出去了,但是它会一直请求,不会进入save回调,也没有报错.(这里进的是if中else部分的代码块)

app.post('/admin/movie/new', function (res, req) {
 var id = res.body.movie._id;
 var movieObj = res.body.movie;
 var _movie;
 if (id !== 'undefined') {
 Movie.findById(id, function (err, movie) {
 if (err) {
 console.log(err);
 }
 _movie = _.extend(movie, movieObj);
 _movie.save(function (err, movie) {
 if (err) {
 console.log(err);
 }
 res.redirect('/movie/' + movie._id);
 });
 });
 } else {
 _movie = new Movie({
 doctor: movieObj.doctor,
 title: movieObj.title,
 country: movieObj.country,
 language: movieObj.language,
 year: movieObj.year,
 poster: movieObj.poster,
 summary: movieObj.summary,
 flash: movieObj.flash
 });
 _movie.save(function (err, movie) {
 if (err) {
 console.log(err);
 }
 res.redirect('/movie/' + movie._id);
 });
 }
});

可能原因: 感觉应该是数据库连接失败,因为看项目db文件夹下并没有创建出数据库文档. 项目地址: https://github.com/xjchenhao/Learn/tree/master/nodejs/%E7%AB%99%E7%82%B9%E5%BB%BA%E8%AE%BE/imooc

4 回复

建议单步调试,确保程序按照你预想的上下文运行;不用webstorm?

@DevinXian 我用webstorm的, debug调试时请求发送后是进入save函数中了, 但是并没有运行我传进去的回调函数. 这个函数里逻辑好深啊, 看不懂...

@ch178 问题解决了嘛?

@DevinXian 不好意思已经解决了,是手抖写错了res.redirect('/movie/' + movie._id);,应该是req... 谢谢回复啊!!

回到顶部

AltStyle によって変換されたページ (->オリジナル) /