MongoDB 删除文档的方式(删除一个、批量删除)

 更新时间:2023年04月14日 10:36:45   作者:Mointor  
这篇文章主要介绍了MongoDB 删除文档的方式(删除一个、批量删除),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

MongoDB 删除文档(删除一个、批量删除)

MongoDB中提供了三种删除文档的方式,如下:

        删除一个文档:db.collection.deleteOne(filter, options)

        删除多个文档:db.collection.deleteMany(filter, options)

        删除文档:db.collection.remove(filter, options)

下面我们对三种方式分别进行介绍:

一、删除一个文档

语法:db.collection.deleteOne(filter, options)

如果有多个匹配的文档,也只会删除一个文档。

例子:

查询所有的文档:

{ "_id" : "1001", "name" : "张三2", "fruits" : [ "apple", "orange" ], "updateTime" : ISODate("2023-04-06T02:36:00.703Z") }
{ "_id" : "1002", "name" : "李四", "fruits" : [ "banana", "apple" ] }
{ "_id" : "1003", "name" : "王五", "fruits" : [ "banana", "apple", "orange" ] }
{ "_id" : "1004", "commet" : "我的内容被替换了" }
{ "_id" : "1005", "name" : "田七", "score" : 100, "fruits" : [ "banana" ] }

下面我们删除fruits中包含apple的文档:

db.test.deleteOne({ "fruits": "apple" })

执行后我们再查询所有的文档:

{ "_id" : "1002", "name" : "李四", "fruits" : [ "banana", "apple" ] }
{ "_id" : "1003", "name" : "王五", "fruits" : [ "banana", "apple", "orange" ] }
{ "_id" : "1004", "commet" : "我的内容被替换了" }
{ "_id" : "1005", "name" : "田七", "score" : 100, "fruits" : [ "banana" ] }

发现只有包含apple的文档中,只有一个文档被删除了。

二、删除多个文档

语法:db.collection.deleteMany(filter, options)

删除所有匹配的文档

例子:

下面我们删除fruits中包含apple的文档:

db.test.deleteMany({ "fruits": "apple" })

执行后我们再查询所有的文档:

{ "_id" : "1004", "commet" : "我的内容被替换了" }
{ "_id" : "1005", "name" : "田七", "score" : 100, "fruits" : [ "banana" ] }

发现包含apple的文档全部都被删除了。

三、删除文档

语法:db.collection.remove(filter, options)

options 中提供了一个 justOne 参数用于控制删除一个匹配的文档还是删除所有匹配的文档。

justOne 默认值为false,会删除所有匹配的文档

        设置成true, 会删除匹配的一个文档。

例子:

我们尝试删除所有的文档:

db.test.remove({ })

执行后我们再查询所有的文档,会发现文档不存在,说明了 justOne 的默认值为false.

我们再插入两条数据:

db.test.insertMany(
    [
        {
            "id": "1002", 
            "name": "李四", 
            "age": 22
        }, 
        {
            "id": "1003", 
            "name": "王五", 
            "age": 25
        }
    ]
);

我们再尝试删除所有的文档,不过这次加上justOne: true的参数:

db.test.remove({ }, { "justOne": true })

执行后我们再查询所有的文档:

{ "_id" : ObjectId("642f85506ca9e7fe3a3ff6f7"), "id" : "1003", "name" : "王五", "age" : 25 }

从上面的文档结果来看,justOne: true 参数下只会删除一条匹配的文档。

到此这篇关于MongoDB 删除文档(删除一个、批量删除)的文章就介绍到这了,更多相关MongoDB 删除文档内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MongoDB开启权限认证的方法步骤详解

    MongoDB开启权限认证的方法步骤详解

    MongoDB已经使用很长一段时间了,基于MongoDB的数据存储也一直没有使用到权限访问(MongoDB默认设置为无权限访问限制),最近深入学习了下,所以下面这篇文章主要给大家介绍了关于MongoDB开启权限认证的相关资料,需要的朋友可以参考下。
    2018-02-02
  • Mongodb 用户权限管理及配置详解

    Mongodb 用户权限管理及配置详解

    这篇文章主要介绍了Mongodb 用户权限管理及配置详解,包括Mongodb访问控制配置,Mongodb开启权限验证,Mongodb账户创建,Mongodb账户管理命令需要的朋友可以参考下
    2023-01-01
  • mongodb 命令行下及php中insert数据详解

    mongodb 命令行下及php中insert数据详解

    这篇文章主要介绍了mongodb 命令行下及php中insert数据详解,需要的朋友可以参考下
    2014-07-07
  • Java操作MongoDB数据库方法详解

    Java操作MongoDB数据库方法详解

    本文给大家分享的是使用Java操作MongoDB的一些基本方法,包含多种数据库的连接方式,增删改查等方法,非常的实用,有需要的小伙伴可以参考下
    2018-01-01
  • MongoDB性能优化及监控

    MongoDB性能优化及监控

    MongoDB 是一个基于分布式文件存储的数据库。接下拉通过本文给大家分享MongoDB性能优化及监控,本文介绍的非常详细,非常具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-02-02
  • MongoDB中自动增长ID详解(实现、应用及优化)

    MongoDB中自动增长ID详解(实现、应用及优化)

    在MongoDB中,自动增长的功能主要通过使用数据库的ObjectId或自定义的序列来实现,ObjectId是MongoDB默认的主键类型,它是唯一的并且具有一定的排序特性,本文给大家介绍了MongoDB中自动增长ID,需要的朋友可以参考下
    2024-06-06
  • mongodb在windows下的安装步骤分享

    mongodb在windows下的安装步骤分享

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的
    2011-10-10
  • MongoDB数据库设置账号密码完整步骤

    MongoDB数据库设置账号密码完整步骤

    MongoDB这工具很好用的,页面美观,设置账号密码也必不可少,下面这篇文章主要给大家介绍了关于MongoDB数据库设置账号密码的完整步骤,文中给出了详细的实例代码,需要的朋友可以参考下
    2023-05-05
  • 利用mongodb查询某坐标是否在规定多边形区域内的方法

    利用mongodb查询某坐标是否在规定多边形区域内的方法

    这篇文章主要介绍了利用mongodb如何查询某坐标是否在固定多边形区域内的方法,文中给出了详细示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-02-02
  • express使用Mongoose连接MongoDB操作示例【附源码下载】

    express使用Mongoose连接MongoDB操作示例【附源码下载】

    这篇文章主要介绍了express使用Mongoose连接MongoDB操作,结合实例形式分析了express使用Mongoose连接MongoDB的具体步骤与相关实现技巧,并附带源码供读者下载参考,需要的朋友可以参考下
    2019-07-07

最新评论