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

admin/moive页面提交后,报错 不是说_id mongo会自动生成的吗?

是需要建表吗 还是怎么回事。。。。。


TypeError: Cannot read property '_id' of undefined
   at app.get.Movie.fetch.res.render.title (E:\project\movie\app.js:105:25)
   at Layer.handle [as handle_request] (E:\project\movie\node_modules\express\lib\router\layer.js:95:5)
   at next (E:\project\movie\node_modules\express\lib\router\route.js:131:13)
   at Route.dispatch (E:\project\movie\node_modules\express\lib\router\route.js:112:3)
   at Layer.handle [as handle_request] (E:\project\movie\node_modules\express\lib\router\layer.js:95:5)
   at E:\project\movie\node_modules\express\lib\router\index.js:277:22
   at Function.process_params (E:\project\movie\node_modules\express\lib\router\index.js:330:12)
   at next (E:\project\movie\node_modules\express\lib\router\index.js:271:10)
   at serveStatic (E:\project\movie\node_modules\express\node_modules\serve-static\index.js:75:16)
   at Layer.handle [as handle_request] (E:\project\movie\node_modules\express\lib\router\layer.js:95:5)
   at trim_prefix (E:\project\movie\node_modules\express\lib\router\index.js:312:13)
   at E:\project\movie\node_modules\express\lib\router\index.js:280:7
   at Function.process_params (E:\project\movie\node_modules\express\lib\router\index.js:330:12)
   at next (E:\project\movie\node_modules\express\lib\router\index.js:271:10)
   at urlencodedParser (E:\project\movie\node_modules\body-parser\lib\types\urlencoded.js:100:7)
   at Layer.handle [as handle_request] (E:\project\movie\node_modules\express\lib\router\layer.js:95:5)

正在回答

2 回答

// admin post movie
app.post('/admin/movie/new', function(req, res) {
  var id = req.body.movie._id
  var movieObj = req.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)
    })
  }
})

刚看了下  网友的代码  修正了下  但是还是会报同样的错 这个是什么原因?  卡在这好久了  囧

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

// admin post movie http

app.post('/admin/movie/new',function(res,req){

var id = res.body.movie._id

var movieObj = req.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,

language: movieObj.language,

country: movieObj.country,

summary: movieObj.doctor,

flash: movieObj.flash,

poster: movieObj.poster,

year: movieObj.year

})

_movie.save(function(err, movie){

if(err){

console.log(err)

}


res.redirect('/movie/' + movie._id)

})

}

})

和老师的代码一样啊  为什么提交的时候会报这个错啊???崩溃。。。。


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

举报

0/150
提交
取消
node+mongodb 建站攻略(一期)
  • 参与学习       91860    人
  • 解答问题       889    个

带你完整实现一个从前端到后端的项目,初中级前端开发工程师必学课程

进入课程

admin/moive页面提交后,报错 不是说_id mongo会自动生成的吗?

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