当前位置: 首页 > article >正文

MongoDB 删除文档

常用的删除文档方法包括 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.kler.cn/a/529026.html

相关文章:

  • 计算机网络一点事(24)
  • pytorch生成对抗网络
  • 被裁与人生的意义--春节随想
  • JavaScript中的数组方法总结+详解
  • Python 梯度下降法(二):RMSProp Optimize
  • 理解动手学深度学习的自编包d2l
  • DeepSeek回答禅宗三重境界重构交易认知
  • 项目集成Spring Security认证部分
  • 深入解析 C++ 字符串处理:提取和分割的多种方法
  • 14JavaWeb——SpringBoot原理
  • JWT入门
  • JAVA实战开源项目:甘肃非物质文化网站(Vue+SpringBoot) 附源码
  • leetcode——验证二叉搜索树(java)
  • 17.2 图形绘制6
  • Spring的应用场景和优势
  • Signature
  • 数据结构(栈结构之顺序栈操作实现一)
  • C++ 字母大小写转换两种方法统计数字字符的个数
  • 【股票数据API接口47】如何获取股票指历史分时KDJ数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • 远程连接-简化登录
  • 进程控制-前篇
  • OpenCV:SURF、OBR特征检测
  • IS-IS 数据包类型 | 实验
  • TCL C++开发面试题及参考答案
  • Docker容器数据恢复
  • 【实战篇章】深入探讨:服务器如何响应前端请求及后端如何查看前端提交的数据