Mogoose findOneAndUpdate如何知道这个对象是否存在并被修改
我正在使用mongoose的findOneAndUpdate
方法:
function update_one_record(Model, unique_constraint, new_updated_values){ obj=Model.findOneAndUpdate( //Similarly we have findOneAndRemove unique_constraint, {$set: new_updated_values}, {upsert: true}, function(err, raw){ console.log(err, raw) }) return obj }
我想知道:
- 如果这个对象存在与否
- 如果对象修改或没有,如果不是什么错误。
从mongoose findOneAndUpdate文档 :
Model.findOneAndUpdate([conditions],[update],[options],[callback])
发出一个mongodb findAndModify更新命令。
find一个匹配的文档,根据更新arg进行更新,传递任何选项,并将find的文档(如果有的话)返回给callback。 如果callback通过,查询立即执行。
至于你的问题:
- 如果find文档,它将作为parameter passing给callback函数。 您可以使用选项
new: true
来返回修改后的文档,而不是原始的,默认为true。 - 错误(如果有的话)也将被传递给callback函数。
请注意,findOneAndUpdate不会触发以下任何一项:
- 默认
- 制定者
- validation
- 中间件
- 使用feathersjs创build后无法从对象中删除_id字段
- Mongooseasynchronous调用内循环与asynchronous库
- 批量更新 – BulkWriteResult.nMatched和BulkWriteResult.nModified返回0
- mongoose – 不能用子模型创build模型
- Mongoose查询:从Post Schema中填充前两个评论
- 我怎样才能得到由特定的许可证ID在填充对象中创build的logging?
- 在mongodb中显示字段值部分匹配的文档
- mongoose.Promise和promisifyAll有什么区别?
- 将socket.io套接字对象存储在内存中,并在节点进程中进行同步