删除操作从集合中删除文档。 MongoDB 提供了以下删除集合文档的方法:
您可以指定标准或过滤器,以标识要删除的文档。这些过滤器使用与读取操作相同的语法。
测试数据:
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()方法。
以下示例从清单收集中删除所有文档:
db.inventory.deleteMany({})
该方法返回具有操作状态的文档。有关更多信息和示例,请参见 deleteMany()。
删除所有符合条件的文档
您可以指定标准或过滤器,以标识要删除的文档。筛选器使用与读取操作相同的语法。
要指定相等条件,请在查询过滤器文档中使用
{
查询过滤器文档可以使用查询运算符以以下形式指定条件:
{
要删除所有符合删除条件的文档,请将过滤器参数传递给deleteMany()方法。
以下示例从状态字段等于“ A”的清单集合中删除所有文档:
db.inventory.deleteMany({ status : “A” })
该方法返回具有操作状态的文档。有关更多信息和示例,请参见deleteMany()。
仅删除1个符合条件的文档
要删除最多一个与指定过滤器匹配的文档(即使多个文档可能与指定过滤器匹配),请使用db.collection.deleteOne()方法。
下面的示例删除状态为“ D”的第一个文档:
db.inventory.deleteOne( { status: “D” } )