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

模型movie中为什么没有_id

TypeError: Cannot read property '_id' of undefined
    at D:\learning\web应用\NodeJS\code\imooc\app.js:88:26
代码://admin post movie
app.post('/admin/movie/new',function(req,res){
  var id = req.body.movie._id
  console.log('提交:'+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)
    })
  }
})

admin页:extends ../layout

block content
    .container
        .row
            form.form-horizontal(method="post",action="/admin/movie/new")
             input(type="hidden",name="movie[_id]",value="#{movie._id}")
             .form-group
                label.col-sm-2.control-label(for="inputTitle") 电影名字
                .col-sm-10
                    input#inputTitle.form-control(type="text",name="movie[title]",value="#{movie.title}")
             .form-group
                label.col-sm-2.control-label(for="inputDoctor") 导演
                .col-sm-10
                    input#inputDoctor.form-control(type="text",name="movie[doctor]",value="#{movie.doctor}")
             .form-group
                label.col-sm-2.control-label(for="inputCountry") 国家
                .col-sm-10
                    input#inputCountry.form-control(type="text",name="movie[country]",value="#{movie.country}")
             .form-group
                label.col-sm-2.control-label(for="inputLanguage") 语言
                .col-sm-10
                    input#inputLanguage.form-control(type="text",name="movie[language]",value="#{movie.language}")
             .form-group
                label.col-sm-2.control-label(for="inputPoster") 海报地址
                .col-sm-10
                    input#inputPoster.form-control(type="text",name="movie[poster]",value="#{movie.poster}")
              .form-group
                label.col-sm-2.control-label(for="inputFlash") 片源地址
                .col-sm-10
                    input#inputFlash.form-control(type="text",name="movie[flash]",value="#{movie.flash}")
             .form-group
                label.col-sm-2.control-label(for="inputYear") 上映年代
                .col-sm-10
                    input#inputYear.form-control(type="text",name="movie[year",value="#{movie.year}")
             .form-group
                label.col-sm-2.control-label(for="inputSummary") 电影简介
                .col-sm-10
                    input#inputSummary.form-control(type="text",name="movie[summary]",value="#{movie.summary}")
             .form-group
                .col-sm-offset-2.col-sm-10
                  button.btn.btn-default(type="submit") 录入


正在回答

4 回答

把这个 if (id !== 'undefined')   判断改成  if (id !== undefined && id !== "" && id !== null)  试一下

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

Elly 提问者

非常感谢!
2016-07-05 回复 有任何疑惑可以回复我~

自己可以去看一下,req.body的东西 console.log(req.body)

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

ziji=

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

这样改根本不行,别乱采纳....

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

举报

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

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

进入课程

模型movie中为什么没有_id

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