本文将会介绍如何利用 deleteOne() 和 deleteMany() 方法删除满足指定条件的文档。

deleteOne() 方法

deleteOne() 方法用于删除集合中的单个文档,语法如下:

db.collection.deleteOne(filter, option)

该方法包含两个参数:

  • filter 是一个必选参数,用于指定一个查询条件,满足条件的文档才会被删除。如果指定一个空文档({})作为查询条件,将会删除集合中的第一个文档。
  • option 是一个可选参数,用于指定删除选项,本文不涉及相关内容。

deleteOne() 方法返回一个结果文档,其中的 deleteCount 字段存储了被删除文档的数量。

deleteOne() 示例

本文将会使用以下示例文档:

db.products.insertMany([{ "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate": ISODate("2011-05-14"), "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 },"color":["white","black"],"storage":[64,128,256]},{ "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate": ISODate("2011-09-01") , "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 },"color":["white","black","purple"],"storage":[128,256,512]},{ "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate": ISODate("2015-01-14"), "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 },"color":["blue"],"storage":[16,64,128]},{ "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate": ISODate("2020-05-14"),"spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256,1024]},{ "_id" : 5, "name" : "SmartPhone", "price" : 599,"releaseDate": ISODate("2022-09-14"), "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256]}
])

示例一:删除单个文档

以下示例使用 deleteOne() 方法删除 products 集合中 _id 等于 1 的文档:

db.products.deleteOne({ _id: 1 })

查询返回的结果如下:

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

其中,deleteCount 字段的值为 1,表示删除了一个文档。

示例二:删除第一个文档

以下查询使用 deleteOne() 方法删除 products 集合中的第一个文档:

db.products.deleteOne({})

返回结果如下:

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

deleteMany() 方法

deleteMany() 方法用于删除满足条件的所有文档,语法如下:

db.collection.deleteMany(filter, option)

其中,

  • filter 是一个必选参数,用于指定一个查询条件,满足条件的文档才会被删除。如果指定一个空文档({})作为查询条件,将会删除集合中的全部文档。
  • option 是一个可选参数,用于指定删除选项,本文不涉及相关内容。

deleteMany() 示例

示例一:删除多个文档

以下示例使用 deleteMany() 方法删除 price 等于 899 的所有文档:

db.products.deleteMany({ price: 899 })

返回结果如下:

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

deleteCount 字段表示删除了 2 个文档。

示例二:删除全部文档

以下示例使用 deleteMany() 方法删除了 products 集合中的全部文档:

db.products.deleteMany({})

返回结果如下:

{ acknowledged: true, deletedCount: 3 }

《MongoDB入门教程》第21篇 CRUD之删除文档相关推荐

  1. 《MongoDB入门教程》第07篇 CRUD之查找文档

    本文将会介绍如何利用集合的 findOne() 和 find() 方法查找文档. 使用 findOne() 方法查找单个文档 findOne() 方法用于返回集合中满足条件的单个文档,该方法的语法如下 ...

  2. 《MongoDB入门教程》第14篇 CRUD之更新文档

    本篇我们将会介绍如何使用集合的 updateOne() 和 updateMany() 方法更新文档. updateOne() 方法 updateOne() 方法可以更新满足条件的单个文档,语法如下: ...

  3. 医疗影像工具LEADTOOLS 入门教程: 在 Windows 服务器上部署 LEADTOOLS 文档服务 - .NET Framework

    LEADTOOLS是一个综合工具包的集合,用于将识别.文档.医疗.成像和多媒体技术整合到桌面.服务器.平板电脑.网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别和 ...

  4. 《MongoDB入门教程》第04篇 MongoDB客户端

    本篇我们介绍 MongoDB 客户端工具 mongo 的使用. mongo shell mongo shell 是一个用于连接 MongoDB 的交互式 JavaScript 接口.mongo she ...

  5. 《MongoDB入门教程》第01篇 MongoDB简介

    MongoDB MongoDB 是一个开源.跨平台.分布式文档数据库,属于 NoSQL(Not Only SQL)数据库的一种. 简单易用 MongoDB 是一个面向文档的数据库,使用文档(docum ...

  6. 《MongoDB入门教程》第19篇 文档更新之$rename操作符

    本文将会介绍 MongoDB $rename 操作符,它可以用于重命名文档中的字段. $rename 操作符 $rename 是一个字段更新操作符,可以用于修改文档的字段名. $rename 操作符的 ...

  7. Systemd 入门教程:实战篇

    Systemd 入门教程:实战篇 原文出处: 阮一峰(@ruanyf)   http://blog.jobbole.com/98671/?utm_source=blog.jobbole.com& ...

  8. [Qt教程] 第21篇 数据库(一)Qt数据库应用简介

    [Qt教程] 第21篇 数据库(一)Qt数据库应用简介 楼主  发表于 2013-5-13 20:56:39 | 查看: 1403| 回复: 13 Qt数据库应用简介 版权声明 该文章原创于作者yaf ...

  9. Linux Capabilities 入门教程--进阶实战篇

    该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 Linux Capabilities 入门教程:进阶实战篇 ...

最新文章

  1. oracle递归用法
  2. vue 中eslint 格式报错
  3. Stumpwm的编译安装
  4. USB设备的插入和弹出的监听以及软弹出可移动媒体(如Windows的移除USB设备) ....
  5. 配置linux系统自带apache+php+mysql
  6. 深度学习之目标检测:R-CNN、Fast R-CNN、Faster R-CNN
  7. python代替嵌套列表_python含嵌套的列表去重问题
  8. GitHub Trending 长期被国人“霸榜”,国外开发者 SAY NO
  9. 华为和荣耀蓝牙耳机为什么那么贵?
  10. ssas 分层维度_通过SSAS维度层次结构增强数据分析
  11. 整理下开发中常用的第三方库
  12. 【机器学习】Logistic Regression逻辑回归原理与java实现
  13. 使用CefSharp在.NET中嵌入Google kernel
  14. 2014.10.6模拟赛【魔兽争霸】
  15. 怎么把Word翻译成中文?建议收藏这些方法
  16. 深圳入职两周的感想——防止入坑
  17. Python爬虫,30秒爬取500+篇微信文章!太强啦!
  18. Python、Pycharm、Django及各插件安装经验汇总
  19. 为powerpc编译mtd-utils工具
  20. hdu 1735 文字统计

热门文章

  1. Pr导出媒体视频,播放闪屏问题解决
  2. 常见的移动端兼容问题以及解决方案
  3. 【软工视频】软件需求分析
  4. Ubuntu12.04中安装,卸载chrome谷歌浏览器,打开谷歌浏览器
  5. php听牌算法,打麻将要学会的听牌算法
  6. caffe版本frcnn的 ROC,AUC,PR,AP介绍及python绘制
  7. 字符串最大跨距(c++)
  8. mysql获取终节点_mysql 函数获取子节点
  9. echarts地图省市两级下钻
  10. c4d怎么导入fbx_如何将3DMAX模型带材质导入C4D