MongoDB——文档操作(删除文档)

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB——文档操作(删除文档)相关的知识,希望对你有一定的参考价值。

目录

一、使用 remove 删除文档

1.1、使用 remove 删除文档的概述

  • remove 命令需要配合查询条件使用。
  • 匹配查询条件的文档会被删除。
  • 指定一个空文档条件会删除所有文档。

1.2、限定只删除一个文档的命令格式

  • remove命令会删除匹配条件的全部文档,如果希望明确限定只删除一个文档,则需要指定justOne参数,命令格式如下:

    db.collection.remove(query,justOne)
    

1.3、删除首条记录的命令格式

  • 删除满足某个条件的首条记录,则需要指定true参数,命令格式如下:

    db.books.remove(query,true)
    

1.4、使用 remove 删除文档的示例

  • 删除age等于20的记录

    db.user.remove(age:28)
    
  • 删除age 小于25的记录

    db.user.remove(age:$lt:25)
    
  • 删除所有记录

    db.user.remove(   ) 
    
  • 执行下面命令直接报错

    db.user.remove()
    

二、使用 delete 删除文档

  • 官方推荐使用 deleteOne() 和 deleteMany() 方法删除文档,语法格式如下:

    语法格式描述
    db.books.deleteMany ()删除集合下全部文档
    db.books.deleteMany ( type:“novel” )删除 type等于 novel 的全部文档
    db.books.deleteOne ( type:“novel” )删除 type等于novel 的一个文档
  • 注意: remove、deleteMany等命令需要对查询范围内的文档逐个删除,如果希望删除整个集合,则使用drop命令会更加高效

三、返回被删除文档

  • remove、deleteOne等命令在删除文档后只会返回确认性的信息,如果希望获得被删除的文档,则可以使用findOneAndDelete命令。

    db.books.findOneAndDelete(type:"novel")
    

  • 除了在结果中返回删除文档,findOneAndDelete命令还允许定义“删除的顺序”,即按照指定顺序删除找到的第一个文档。

    db.books.findOneAndDelete(type:"novel",sort:favCount:1)
    

  • remove、deleteOne等命令只能按默认顺序删除,利用这个特性,findOneAndDelete可以实现队列的先进先出。

以上是关于MongoDB——文档操作(删除文档)的主要内容,如果未能解决你的问题,请参考以下文章

mongo db:从对象数组中获取子数组,其值在单个文档的范围内

使用范围内的随机数更新MongoDb

MongoDB基本操作-删除文档

MongoDB创建更新删除文档操作

03 MongoDB文档的各种增加更新删除操作总结

03 MongoDB文档的各种增加更新删除操作总结