課程
/前端開發
/Node.js
/node+mongodb 建站攻略(一期)
數據庫save方法 提示這個錯誤怎么解決TypeError: Cannot read property 'save' of null
2017-05-10
源自:node+mongodb 建站攻略(一期) 3-1
正在回答
我也是這樣,就在save哪里不行了,代碼沒有錯
schemas/movie.js?
MovieSchema.pre('save',function(next){ ? ?if(this.isNew){ ? ? ? ?this.meta.createAt=this.meta.updateAt=Date.now(); ? ?}else{ ? ? ? ?this.meta.updateAt=Date.now(); ? ?} ? ?next();});
models/movie.js
var mongoose=require('mongoose');var MovieSchema=require('../schemas/movie');var Movie=mongoose.model('Movie',MovieSchema);module.exports=Movie;
app.js
//引入models/movie.js
var Movie=require('./models/movie');
//admin post movieapp.post('/admin/movie/new',function(req,res){ ? ?var id=req.body.movie._id; ? ?var movieObj=req.body.movie; ? ?var _movie=null; ? ?if(id!=='undefined'){ ? ? ? ?Movie.findById(id,function(err,movie){ ? ? ? ? ? ?if(err){ ? ? ? ? ? ? ? ?console.log('Error: '+err); ? ? ? ? ? ?} ? ? ? ? ? ?_movie=underscore.extend(movie,movieObj); ? ? ? ? ? ?_movie.save(function(err,movie){ ? ? ? ? ? ? ? ?if(err){ ? ? ? ? ? ? ? ? ? ?console.log('Error: '+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('Error: '+err); ? ? ? ? ? ?} ? ? ? ? ? ?res.redirect('/movie/'+_movie._id); ? ? ? ?}); ? ?}});
看看哪里寫錯了。
舉報
帶你完整實現一個從前端到后端的項目,初中級前端開發工程師必學課程
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-07-19
我也是這樣,就在save哪里不行了,代碼沒有錯
2017-05-12
schemas/movie.js?
MovieSchema.pre('save',function(next){
? ?if(this.isNew){
? ? ? ?this.meta.createAt=this.meta.updateAt=Date.now();
? ?}else{
? ? ? ?this.meta.updateAt=Date.now();
? ?}
? ?next();
});
models/movie.js
var mongoose=require('mongoose');
var MovieSchema=require('../schemas/movie');
var Movie=mongoose.model('Movie',MovieSchema);
module.exports=Movie;
app.js
//引入models/movie.js
var Movie=require('./models/movie');
//admin post movie
app.post('/admin/movie/new',function(req,res){
? ?var id=req.body.movie._id;
? ?var movieObj=req.body.movie;
? ?var _movie=null;
? ?if(id!=='undefined'){
? ? ? ?Movie.findById(id,function(err,movie){
? ? ? ? ? ?if(err){
? ? ? ? ? ? ? ?console.log('Error: '+err);
? ? ? ? ? ?}
? ? ? ? ? ?_movie=underscore.extend(movie,movieObj);
? ? ? ? ? ?_movie.save(function(err,movie){
? ? ? ? ? ? ? ?if(err){
? ? ? ? ? ? ? ? ? ?console.log('Error: '+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('Error: '+err);
? ? ? ? ? ?}
? ? ? ? ? ?res.redirect('/movie/'+_movie._id);
? ? ? ?});
? ?}
});
看看哪里寫錯了。