2015-11-21 200 views
2

正试图做一个平静的更新。mongo findAndUpdateOne在我的情况下失败

我model.js

module.exports.updateGenre = function (id, genre, callback) { 
    var query = {_id: id}; 
    var update = { 
     name: genre.name 
    } 
    Genre.findOneAndUpdate(query, update, option, callback); 
} 

我route.js

app.put('/api/genres/:_id',function(req,res){ 
    var id = req.params._id; 
    var genre = req.body; 
    Genres.updateGenre(id, genre, null, function(err,genre){ 
     if(err){ 
      throw err; 
     } 
     res.json(genre) 
    }) 
}); 

我得到了option is not define错误。但是我已经在路由中使用了null,我不知道这是一个错误。我也试过{}除了null。

+1

那么它是没有定义。你的外签名没有选项可以传入,并且它没有在你自己的函数中定义。 –

回答

0

只需添加option参数传送给updateGenre功能:

module.exports.updateGenre = function (id, genre, option, callback) {} 
0

看起来你需要将option参数添加到您的模块的签名。目前,它是:

module.exports.updateGenre = function (id, genre, callback) { 

添加option到所以它看起来像:

module.exports.updateGenre = function (id, genre, option, callback) { 
+0

啊什么不小心误导!谢谢! –

相关问题