Node.js Mogoose findOneAndUpdate回调不是函数
尝试更新现有文档时收到错误。我已经考虑过其他解决方案,但我无法解决我的问题 错误:Node.js Mogoose findOneAndUpdate回调不是函数,node.js,mongodb,Node.js,Mongodb,尝试更新现有文档时收到错误。我已经考虑过其他解决方案,但我无法解决我的问题 错误: MongooseError: Callback must be a function, got [object Object] 代码: 其中v1,v2。。是我想在mongo中更新的内容和mongo中字段的名称。 不确定回调为什么不是函数。,它们都是可选的: [条件]«对象» [更新]«对象» [选项]«对象»可选请参见Query.prototype.setOptions() [options.lean]«Obj
MongooseError: Callback must be a function, got [object Object]
代码:
其中v1,v2。。是我想在mongo中更新的内容和mongo中字段的名称。
不确定回调为什么不是函数。,它们都是可选的:
[条件]«对象»
[更新]«对象»
[选项]«对象»可选请参见Query.prototype.setOptions()
[options.lean]«Object»如果是truthy,mongoose将返回文档
作为一个普通的JavaScript对象,而不是mongoose文档。看见
Query.lean()
[回调]«函数»
虽然提供了5个参数,{returnOriginal:false}
是不需要的参数,并且与回调参数混淆
returnOriginal
在当前Mongoose版本中不是有效选项。如果应返回新文档而不是原始文档,则已使用的new
选项就是这种情况:
new:bool-如果为true,则返回修改后的文档,而不是
起初的默认值为false(在4.0中更改)
应该是:
formSchemas.findOneAndUpdate({'email':email, 'condition1': condition1, 'condition2': condition2},
{ $set: { "v1": v1, "v2": v2,
"v3": v3, "v4": v4,
"v5": v5 }},
{new: true},
function(err, doc){
...
}
);
回调API已经过时,Mongoose非常适合使用承诺
formSchemas.findOneAndUpdate({'email':email, 'condition1': condition1, 'condition2': condition2},
{ $set: { "v1": v1, "v2": v2,
"v3": v3, "v4": v4,
"v5": v5 }},
{new: true},
function(err, doc){
...
}
);