📜  MongoDB – findOneAndDelete() 方法

📅  最后修改于: 2022-05-13 01:56:58.438000             🧑  作者: Mango

MongoDB – findOneAndDelete() 方法

findOneAndDelete()方法根据集合中的选择标准删除单个文档。它从集合中删除与给定过滤器查询表达式匹配的第一个文档。它需要五个参数,第一个参数是选择标准,其他参数是可选的。

句法:

参数:

  • 第一个参数是选择标准。该参数的类型是文档。
  • 第二个参数是可选的。

可选参数:

  • 投影:它允许您只选择必要的数据,而不是从文档中选择整个数据。
  • sort:指定符合选择条件的文档的排序顺序。值 1 按升序排序,-1 按降序排序。
  • maxTimeMs:允许查询运行的最长时间。
  • collation:指定操作使用的排序规则。它允许用户为字符串比较指定特定于语言的规则,例如字母和重音标记的规则。该参数的类型是文档。

返回:



  • 如果文档与给定的过滤器查询匹配,则此方法返回已删除的文档。
  • 如果没有文档与给定的过滤器查询匹配,则此方法返回 null。

例子:

在以下示例中,我们正在使用:

  • 根据选择条件查找和删除第一个文档:
db.student.findOneAndDelete({name:"Bablue"})

这里我们找到并删除名为 Bablue 的文档。

删除后:

  • 根据选择条件查找和删除文档:
db.student.findOneAndDelete({age:17},{sort:{age:-1}})

在这里,我们首先根据年龄字段按降序对文档进行排序,然后删除第一个年龄为 17 的文档。

删除后:

  • 当没有文档与过滤器查询匹配时:
db.student.findOneAndDelete({name: "Sumit"})

在这里,学生集合中不存在以 sumit 命名的文档。所以,这个方法返回null。