2015-11-21 99 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

啊什麼不小心誤導!謝謝! –

相關問題