如何判断 mongoosejs findOneAndUpdate 方法何时成功?

how to tell when mongoosejs findOneAndUpdate method succeeds?

如何判断 findOneAndUpdate 何时成功更新文档? huh 变量总是 returns 相同的东西(无论 id 是否在数据库中)并且 doc 总是空的。

var query = {id : id };
var huh = schemaModel.findOneAndUpdate(query, obj, function(doc) {
        console.log(doc);
        if(doc) {
            callback(doc);
        } else {
            errback('');
        }
    }
);
console.log(huh);

您只将一个参数传递给 findOneAndUpdate 查询中的 callback

我认为您的查询成功了,但是当您成功更新对象时 doc 总是会出现 null,因为它是第一个参数,即 err.

此外,我没有看到您的 callback 函数的代码,所以我只是假设它可以在您的函数范围内访问。

var query = {id : id };
var huh = schemaModel.findOneAndUpdate(query, obj, function(err, doc) {

        if(err) {
            return "Error spotted!";
        } else {
            return "Found & Updated";
        }
    }
);
console.log(huh);

通过返回这些值,您基本上是将它们分配给 huh 变量,它应该相应地记录。它用作日志记录机制。