MongoDB 删除文档

devtools/2025/2/3 3:27:10/

常用的删除文档方法包括 deleteOne()、deleteMany() 以及 findOneAndDelete()。

使用场景:

  • 数据清理:删除不再需要的旧数据或无效数据。
  • 数据修正:在数据修正过程中删除错误的或重复的文档。
  • 自动化任务:在自动化脚本或任务中,根据特定条件删除文档。

1、deleteOne()

deleteOne() 方法用于删除匹配过滤器的单个文档。

语法:

db.collection.deleteOne(filter, options)
  • filter:用于查找要删除的文档的查询条件。
  • options(可选):一个可选参数对象。

实例

db.myCollection.deleteOne({ name: "Alice" });

返回结果:

{"acknowledged": true,"deletedCount": 1
}

2、deleteMany()

deleteMany() 方法用于删除所有匹配过滤器的文档。

语法:

db.collection.deleteMany(filter, options)
  • filter:用于查找要删除的文档的查询条件。
  • options(可选):一个可选参数对象。

实例

db.myCollection.deleteMany({ status: "inactive" });

返回结果:

{"acknowledged": true,"deletedCount": 1
}

3、findOneAndDelete()

findOneAndDelete() 方法用于查找并删除单个文档,并可以选择返回删除的文档。

语法:

db.collection.findOneAndDelete(filter, options)
  • filter:用于查找要删除的文档的查询条件。
  • options:可选参数对象,如 projectionsort 等。

实例

db.myCollection.findOneAndDelete(
    { name: "Charlie" },
    { projection: { name: 1, age: 1 } }
);

findOneAndDelete 返回被删除的文档,如果找不到匹配的文档,则返回 null。

删除操作的选项

这些删除方法的 options 参数通常可以包含以下选项:

  • writeConcern:指定写操作的确认级别。
  • collation:指定比较字符串时使用的排序规则。
  • projection(仅适用于 findOneAndDelete):指定返回的字段。
  • sort(仅适用于 findOneAndDelete):指定排序顺序以确定要删除的文档。

实例

删除单个文档:

db.myCollection.deleteOne({ name: "Alice" });

删除多个文档:

db.myCollection.deleteMany({ status: "inactive" });

查找并删除单个文档:

db.myCollection.findOneAndDelete({ name: "Charlie" },{ projection: { name: 1, age: 1 } }
);

http://www.ppmy.cn/devtools/155609.html

相关文章

Games104——游戏引擎Gameplay玩法系统:基础AI

这里写目录标题 寻路/导航系统NavigationWalkable AreaWaypoint NetworkGridNavigation Mesh(寻路网格)Sparse Voxel Octree Path FindingDijkstra Algorithm迪杰斯特拉算法A Star(A*算法) Path Smoothing Steering系统Crowd Simu…

答疑解惑:如何监控EMC unity存储系统磁盘重构rebuild进度

近期有个朋友咨询的问题,这个其实很有代表性的,以前在VNX存储中,通过磁盘的属性是可以看到rebuild的进度的。到了unity年代,更换了一个磁盘,如何查询重构的进度,从图形界面好像没有找到合适的地方去查看。 …

kamailio-ACC_JSON模块详解

ACC_JSON 模块 作者 Julien Chavanton jchavantongmail.com Julien Chavanton flowroute.com jchavantongmail.com 编辑 Julien Chavanton flowroute.com jchavantongmail.com 版权 © 2018 Flowroute.com 目录 管理员指南 概述依赖 2.1 Kamailio 模块 2.2 外部库或应用…

蓝桥杯刷题DAY1:前缀和

所谓刷题,讲究的就是细心 帕鲁服务器崩坏【算法赛】 “那个帕鲁我已经观察你很久了,我对你是有些失望的,进了这个营地,不是把事情做好就可以的,你需要有体系化思考的能力。” 《幻兽帕鲁》火遍全网,成为…

软件测试—— 接口测试(HTTP和HTTPS)

软件测试—— 接口测试(HTTP和HTTPS) HTTP请求方法GET特点使用场景URL结构URL组成部分URL编码总结 POST特点使用场景请求结构示例 请求标头和响应标头请求标头(Request Headers)示例请求标头 响应标头(Response Header…

【Java异步编程】CompletableFuture实现:异步任务的合并执行

文章目录 一. 合并两个异步任务的结果1. thenCombine():组合两个异步任务的结果2. runAfterBoth():在两个任务完成后执行无返回值操作3. thenAcceptBoth():消费两个任务的结果 二. allOf():等待所有任务完成 如果某个任务同时依赖…

计算机视觉和图像处理

计算机视觉与图像处理的最新进展 随着人工智能技术的飞速发展,计算机视觉和图像处理作为其中的重要分支,正逐步成为推动科技进步和产业升级的关键力量。 一、计算机视觉的最新进展 计算机视觉,作为人工智能的重要分支,主要研究如…

MATLAB中extractAfter函数用法

目录 语法 说明 示例 选择子字符串后的文本 使用模式提取路径后的文件名 选择指定位置后的子字符串 选择字符向量中位置之后的文本 extractAfter函数的用法是提取指定位置后的子字符串。 语法 newStr extractAfter(str,pat) newStr extractAfter(str,pos) 说明 new…