{ [CastError: Cast to ObjectId failed for value “” at path “_id”] message: ‘Cast to ObjectId failed for value “” at path “_id”’, name: ‘CastError’, kind: ‘ObjectId’, value: ‘’, path: ‘_id’, reason: undefined } { [ValidationError: Movie validation failed] message: ‘Movie validation failed’, name: ‘ValidationError’, errors: { _id: { [CastError: Cast to ObjectID failed for value “” at path “_id”] message: ‘Cast to ObjectID failed for value “” at path “_id”’, name: ‘CastError’, kind: ‘ObjectID’, value: ‘’, path: ‘_id’, reason: [Object] } } } d:\NodeWork\Study1\routes\index.js:105 res.redirect(’/movie/’ + movie._id) ^
TypeError: Cannot read property ‘_id’ of undefined at d:\NodeWork\Study1\routes\index.js:105:47 at d:\NodeWork\Study1\node_modules\mongoose\lib\document.js:1908:19 at handleError (d:\NodeWork\Study1\node_modules\mongoose\node_modules\hooks-fixed\hooks.js:40:22) at _next (d:\NodeWork\Study1\node_modules\mongoose\node_modules\hooks-fixed\hooks.js:46:22) at fnWrapper (d:\NodeWork\Study1\node_modules\mongoose\node_modules\hooks-fixed\hooks.js:186:18) at d:\NodeWork\Study1\node_modules\mongoose\lib\schema.js:200:17 at d:\NodeWork\Study1\node_modules\mongoose\node_modules\kareem\index.js:127:16 at nextTickCallbackWith0Args (node.js:420:9) at process._tickCallback (node.js:349:13)
Process finished with exit code 1
-----------------------这是源码
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)
}
if (movie == undefined) {
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 = _.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)
})
}
});