mongo findAndUpdateOne在我的情况下失败了

时间:2015-11-21 07:31:34

标签: javascript node.js mongodb mongoose

试图做一个安静的更新。

my model.js

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

我的路线.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之外,我还试过{}。

2 个答案:

答案 0 :(得分:0)

只需在option函数中添加updateGenre参数:

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

答案 1 :(得分:0)

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

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

添加option,如下所示:

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