Docs 菜单
Docs 主页
/
MongoDB Shell
/

Delete Documents

在此页面上

  • 删除所有文档
  • 删除符合条件的所有文档
  • 仅删除一个符合条件的文档
  • 删除行为
  • 了解详情

MongoDB Shell 提供以下方法从集合中删除文档:

本页的示例参考了 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 集合中的所有文档,其中 title 等于 "Titanic"

use sample_mflix
db.movies.deleteMany( { title: "Titanic" } )

该方法返回一个包含操作状态的文档。有关更多信息和示例,请参阅 deleteMany()

要删除与指定过滤器匹配的最多单个文档(即使可能有多个文档与指定过滤器匹配),请使用 db.collection.deleteOne() 方法。

例子

要从 sample_mflix.movies 集合中删除第一个在其 cast 数组包含 "Brad Pitt" 的文档:

use sample_mflix
db.movies.deleteOne( { cast: "Brad Pitt" } )

注意

MongoDB 保留文档的自然排序顺序。这种排序属于内部实现特性,您不应该依赖其中的任何特定结构。要了解更多信息,请参阅自然顺序

要进一步了解删除文档的具体行为,请参阅行为

后退

Update