Delete
数据初始化
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({})
删除所有匹配的数据
您可以指定标识要删除的文档的条件或筛选器。筛选器使用与读取操作相同的语法。
若要指定相等条件, 请使用查询筛选器文档中 <field>:<value>
表达式:
{ <field1>: <value1>, ... }
- 例子
若要删除与删除条件匹配的所有文档, 请将筛选器参数传递给 deleteMany() 方法。
下面的示例从库存集合中删除状态字段等于 “a” 的所有文档:
db.inventory.deleteMany({ status : "A" })
删除一个匹配的数据
若要最多删除与指定筛选器匹配的单个文档 (即使多个文档可能与指定筛选器匹配), 请使用 db.collection.deleteOne() 方法。
下面的示例删除状态为 “d” 的第一个文档:
db.inventory.deleteOne( { status: "D" } )
删除行为
指标
删除操作不会删除索引, 即使从集合中删除所有文档也是如此。
原子性
mongodb 中的所有写入操作在单个文档的级别上都是原子的。
有关 mongodb 和原子性的详细信息, 请参阅原子性和事务。