删除文档
MongoDB Shell提供了以下方法从集合中删除文档
要删除多个文档,请使用
db.collection.deleteMany()
.要删除单个文档,请使用
db.collection.deleteOne()
.
此页面上的示例引用了Atlas 示例数据集。您可以创建一个免费的Atlas集群并将示例数据填充到该集群中,以跟随这些示例。要了解更多信息,请参阅在Atlas中入门。
删除所有文档
要从集合中删除所有文档,请将一个空的过滤器文档 {}
传递给 db.collection.deleteMany()
方法。
示例
要从 sample_mflix.movies
集合中删除所有文档
use sample_mflix db.movies.deleteMany({})
该方法返回一个包含操作状态的文档。有关更多信息示例,请参阅 deleteMany()
。
注意
如果您想从大型集合中删除所有文档,则使用 db.collection.drop()
方法删除并重新创建集合可能比使用 db.collection.deleteMany()
方法删除文档更快。当您重新创建集合时,您还必须重新创建任何指定的集合参数,例如集合索引。
删除符合条件的所有文档
您可以为要删除的文档指定标准或过滤器。这些过滤器使用与读取操作相同的语法。
要在查询过滤器文档中使用等值条件,请使用 <field>:<value>
表达式。
要删除符合删除条件的所有文档,请将过滤器参数传递给 deleteMany()
方法。
示例
要删除 sample_mflix.movies
集合中所有标题等于 "Titanic"
的文档
use sample_mflix db.movies.deleteMany( { title: "Titanic" } )
该方法返回一个包含操作状态的文档。有关更多信息示例,请参阅 deleteMany()
。
仅删除一个符合条件的文档
要删除最多一个符合条件的文档(尽管可能有多个文档符合指定的过滤器),请使用db.collection.deleteOne()
方法。
示例
要删除sample_mflix.movies
集合中第一个包含"Brad Pitt"
的cast
数组文档
use sample_mflix db.movies.deleteOne( { cast: "Brad Pitt" } )
注意
MongoDB保留文档的自然排序顺序。这种排序是一个内部实现特性,你不应该依赖于其内部结构的任何特定结构。了解更多信息,请参阅自然排序。
删除行为
要了解更多关于删除文档的具体行为,请参阅行为。
了解更多
要查看更多删除文档的示例,请参阅以下方法页面
要查看所有可用的删除文档的方法,请参阅删除方法。