findOneAndUpdate和UPDATE有什么不同?

两者都接受条件进行查询和单据更新.

推荐答案

.update().findAndModify()都有各自的文档可供查看,这是.findOneAndUpdate()的根方法.

但主要的不同之处在于:

  • update():用于对集合中与其查询条件匹配的"一个或多个"文档执行原子更新操作.它返回响应中修改的文档数.

  • findOneAndUpdate():既用于处理"单一"文档的UPDATE语句,也用于检索该"单一"文档的内容.返回的状态取决于传递给操作的"new"选项的值.其中true返回"修改的"文档.其中false在任何修改之前返回"原始"文档.后一种形式是默认选项.

总之.一种是"批量"修改,不担心结果中的文档内容.另一种是修改单个文档,并在结果中返回文档内容.

这就是不同之处.

Database相关问答推荐

如何在 N1QL 查询(Couchbase 查询)中使用 LENGTH() 字符串函数

文件存储的推荐位置 - 在数据库或其他什么地方?

Sequel Pro / MAMP 在哪里存储本地数据库?

任何用于存储过程的静态代码分析工具?

关闭连接会自动关闭语句和结果集吗?

查询最后一天、上周、上个月SQLite

存储所有排列的模式数据库

数据验证是否应该在数据库级别进行?

设计用于存储多人游戏的各种要求和统计数据的表格

Django:如何以线程安全的方式执行 get_or_create()?

从 XML 读取数据

Select 最佳主键 + 编号系统

是什么导致pyodbcunable to connect to data source?

如何从 T-SQL 中的表中 Select 前 N 行?

没有自动增量的sqlalchemy主键

使用默认路径中的文件创建数据库

如何删除除了postgres中的少数数据库之外的所有数据库

为什么 DBMS 不支持 ASSERTION

使用 oracle sql developer 从一个数据库复制到另一个数据库 - 连接失败

如何判断我的 heroku 数据库的记录?