请问添加页的id是怎么来的?
在下面,录入页面的代码, input(type='hidden', name="movie[_id]", value="#{movie._id}") 这是一个隐藏域,也就是说,我们根本不能给这个隐藏域输入值,此时,提交按钮的话,movie[_id]是无值的,但是在下面的路由中,却有这个代码:
var id = req.body.movie._id//这个movie._id是怎么来的
请问这个movie._id是怎么来的?
这是录入页面的代码:
```
extends ../layout
block content
.container
.row
form.form-horizontal(method="post", action="/admin/movie/new")
input(type='hidden', name="movie[_id]", value="#{movie._id}")
//使用hidden隐藏域,用来承载数据,类似elec
.form-group
label.col-sm-2.control-label(for="inputTitle") Name
.col-sm-10
input#inputTitle.form-control(type="text", name="movie[title]", value="#{movie.title}")
.form-group
label.col-sm-2.control-label(for="inputDirector") Director
.col-sm-10
input#inputDirector.form-control(type="text", name="movie[director]", value="#{movie.director}")
.form-group
label.col-sm-2.control-label(for="inputCountry") Country
.col-sm-10
input#inputCountry.form-control(type="text", name="movie[country]", value="#{movie.country}")
.form-group
label.col-sm-2.control-label(for="inputLang") Lang
.col-sm-10
input#inputLang.form-control(type="text", name="movie[lang]", value="#{movie.lang}")
.form-group
label.col-sm-2.control-label(for="inputPoster") Poster
.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") Flash
.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") Year
.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") Summary
.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") Submit
```
```
//录入页面的提交请求路由
app.post('/admin/movie/new', function(req,res){
var id = req.body.movie._id//这个movie._id是怎么来的
console.log("我是monie/new:" + JSON.stringify(req.body));
//todo 疑问req.body.movie这里的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)
}
// 重定向,就是说,当点击提交时,页面由'/admin/movie/new'重定向为'/movie/' + movie._id
res.redirect('/movie/' + movie._id)
})
})
// res.json({success: "提交存储开始,我是更新数据,即将进行重定向"})
} else {//如果是新加的数据
// res.json({success: "提交存储开始,我是新加数据"})
_movie = new Movie({
director: movieObj.director,
title: movieObj.title,
country: movieObj.country,
lang: movieObj.lang,
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)
})
}
})
```