如何使用mongoose获取MongoDB中findAndModify func的返回值?

Nam*_*ANG 7 javascript mongoose mongodb node.js

我正在使用Node.js + mongoose + MongoDB,如下所示:

SomeModelSchema.statics.findAndModify = function (query, sort, doc, options, callback) {
    return this.collection.findAndModify(query, sort, doc, options, callback);
};

SomeModel.findAndModify({}, [], { $inc: { amount: 1 } }, {}, function (err) {
    if (err) throw err;
});
Run Code Online (Sandbox Code Playgroud)

我可以amount成功增加但我想获得新值而amount不再执行查询.有没有办法做到这一点?

mpo*_*ien 8

{new:true}options对象中指定.这将导致findAndModify应用更新后的结果值为文档,然后您可以读取该文档以获取新值amount.

详情请见下表:http://www.mongodb.org/display/DOCS/findAndModify+Command

我相信你的回调需要有两个参数,比如: function(err, result){

当触发回调时,result应该包含新文档(如果err为null).