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,我不知道这是一个错误。 我也尝试{}除了空。

只要将option参数添加到您的updateGenre函数中:

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

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

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

添加option ,使其看起来像这样:

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