对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

Delete Documents

在 MongoDB 中,删除操作包括从集合中删除文档。此页面提供示例。

您可以使用以下方法删除 MongoDB 中的文档:


➤ 使用右上角的 Select your language(选择语言)下拉菜单,设置以下示例的语言或选择 MongoDB Compass。


此页面使用以下 mongosh 方法:

此页面上的示例使用的是 inventory 集合。要填充 inventory 集合,请执行以下操作:

db.inventory.insertMany( [
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" },
] );

要删除集合中的所有文档,请将空的过滤器文档 {} 传递给 db.collection.deleteMany() 方法。

如下示例将删除 inventory 集合中的所有文档:

db.inventory.deleteMany({})

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

您可以指定条件或过滤器来标识要删除的文档。过滤器使用与读取操作相同的事务语法。

要指定相等条件,请在查询筛选器文档中使用 <field>:<value> 表达式:

{ <field1>: <value1>, ... }

查询筛选器文档可以使用查询运算符按照以下形式指定条件:

{ <field1>: { <operator1>: <value1> }, ... }

要删除所有符合删除条件的文档,请将 filter 参数传递给 deleteMany() 方法。

以下示例从 status 字段等于 "A" 的 inventory 集合中删除所有文档:

db.inventory.deleteMany({ status : "A" })

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

要删除最多一个与指定的筛选器匹配的文档(即使指定的筛选器可能存在多个匹配的文档),请使用 db.collection.deleteOne() 方法。

如下示例将删除 status 为 "D" 的第一个文档:

db.inventory.deleteOne( { status: "D" } )

注意

在MongoDB Atlas用户界面中,一次只能删除一个文档。要删除多个文档,请从 mongosh 或MongoDB驾驶员连接到您的Atlas部署,并按照本页面上的示例选择您的首选方法。

本部分中的示例使用示例电影数据集。要学习;了解如何将示例数据集加载到MongoDB Atlas部署中,请参阅加载样本数据。

要删除 MongoDB Atlas 中的文档,请按以下步骤操作:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Database 标题下的 Clusters。

    会显示集群页面。

2
  1. 对于包含样本数据的集群,单击Browse Collections 。

  2. 在左侧导航窗格中,选择 sample_mflix 数据库。

  3. 选择 movies 集合。

3

或者,您可以在 Filter 字段中指定查询过滤器文档。查询过滤器文档使用查询操作符来指定搜索条件。

将以下查询筛选器文档复制到 Filter 搜索栏,然后单击 Apply:

{ genres: "Action", rated: { $in: [ "PG", "PG-13" ] } }

此查询筛选器会返回 sample_mflix.movies 集合中所有符合以下条件的文档:genres 等于 Action ,且 rated 等于 PG 或 PG-13。

4
  1. 对于要删除的文档,将鼠标悬停在该文档上方,然后单击右侧显示的垃圾桶图标。

    单击“删除”按钮后,MongoDB Atlas 会标记此文档以便进行删除并要求您确认。

  2. 单击 Delete 以确认您的选择。

要学习;了解详情,请参阅创建、查看、更新和删除文档。

即使从集合中删除所有文档,删除操作也不会删除索引。

注意

原子性和写入确认

MongoDB 写入操作在单个文档级别上是原子性的。有关更多信息,请参阅 原子性和事务。

您还可以使用写关注(write concern)来指定MongoDB为写入操作请求的确认级别。有关更多信息,请参阅写关注(write concern)。