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——文档操作(删除文档)的主要内容,如果未能解决你的问题,请参考以下文章