MongoDB collection.deleteMany() 方法
deleteMany() 方法是 Mongodb 中的一个删除多个文档的方法。它可以根据指定的条件删除一个集合中满足条件的所有文档。和其他删除方法相比,deleteMany() 方法具有以下特点:
- 可以删除一个集合中满足条件的所有文档。
- 可以根据指定的条件删除文档。
- 可以在删除文档的同时获取删除操作的结果。
语法
deleteMany() 方法的语法如下:
db.collection.deleteMany(
<filter>,
{
writeConcern: <document>,
collation: <document>
}
)
其中,db.collection 是要删除文档所在的集合;<filter> 是一个文档,表示删除的条件;writeConcern 和 collation 是可选参数。
使用场景
deleteMany() 方法可以用于以下场景:
- 删除一个集合中的所有文档。
- 根据指定的条件删除一个集合中的文档。
示例
下面是 deleteMany() 方法的两个示例。
示例 1
假设我们有一个名为 products 的集合,其中存储了多个商品信息文档。每个文档包含 _id、name、price、stock 和 status 等字段。现在,我们需要删除所有 status 字段为 out_of_stock 的商品信息文档。可以使用 deleteMany() 方法来实现。示例代码如下:
db.products.deleteMany({ status: "out_of_stock" })
执行上述代码后,products 集合中所有 status 字段为 out_of_stock 的文档都会被删除。
示例 2
假设我们有一个名为 orders 的集合,其中存储了多个订单信息文档。每个文档包含 _id、product_id、user_id 和 quantity 等字段。现在,我们需要删除所有 user_id 字段为 1001 的订单信息文档。可以使用 deleteMany() 方法来实现。示例代码如下:
db.orders.deleteMany({ user_id: 1001 })
执行上述代码后,orders 集合中所有 user_id 字段为 1001 的文档都会被删除。
结论
deleteMany() 方法是一个用于删除多个文档的方法,可以根据指定的条件删除一个集合中满足条件的所有文档。