删除文档

此页面使用以下 mongo shell方法

此页面上的示例使用 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" },
] );

删除所有文档

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

以下示例从 inventory 收集中删除所有文档:

db.inventory.deleteMany({})

该方法返回具有操作状态的文档。 有关更多信息和示例,请参见 deleteMany() .

删除所有符合条件的文档

您可以指定标准或过滤器,以标识要删除的文档。 filter 使用与读取操作相同的语法。

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

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

查询过滤器文档 可以使用 查询操作符 以以下形式指定条件:

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

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

以下示例从状态字段等于 “ A”inventory 集合中删除所有文档:

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

该方法返回具有操作状态的文档。 有关更多信息和示例,请参见 deleteMany() .

仅删除一个符合条件的文档

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

下面的示例删除状态为 “ D” 的第一个文档:

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

删除行为

索引

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

原子性

MongoDB中的所有写操作都是单个文档级别的原子操作。 有关MongoDB和原子性的更多信息,请参见 原子性和事务

写确认

对于写入问题,您可以指定从MongoDB请求的写入操作的确认级别。 有关详细信息,请参见 写关注

另请参考:

译者:杨帅

校对:杨帅

Copyright © 上海锦木信息技术有限公司 all right reserved,由 MongoDB汉化小组 提供技术支持 文件修订时间: 2020-10-11 20:53:05

results matching " "

    No results matching " "