MongoDB collection.deleteMany() 方法

deleteMany() 方法是 Mongodb 中的一个删除多个文档的方法。它可以根据指定的条件删除一个集合中满足条件的所有文档。和其他删除方法相比,deleteMany() 方法具有以下特点:

  • 可以删除一个集合中满足条件的所有文档。
  • 可以根据指定的条件删除文档。
  • 可以在删除文档的同时获取删除操作的结果。

语法

deleteMany() 方法的语法如下:

db.collection.deleteMany(
   <filter>,
   {
     writeConcern: <document>,
     collation: <document>
   }
)

其中,db.collection 是要删除文档所在的集合;<filter> 是一个文档,表示删除的条件;writeConcerncollation 是可选参数。

使用场景

deleteMany() 方法可以用于以下场景:

  • 删除一个集合中的所有文档。
  • 根据指定的条件删除一个集合中的文档。

示例

下面是 deleteMany() 方法的两个示例。

示例 1

假设我们有一个名为 products 的集合,其中存储了多个商品信息文档。每个文档包含 _idnamepricestockstatus 等字段。现在,我们需要删除所有 status 字段为 out_of_stock 的商品信息文档。可以使用 deleteMany() 方法来实现。示例代码如下:

db.products.deleteMany({ status: "out_of_stock" })

执行上述代码后,products 集合中所有 status 字段为 out_of_stock 的文档都会被删除。

示例 2

假设我们有一个名为 orders 的集合,其中存储了多个订单信息文档。每个文档包含 _idproduct_iduser_idquantity 等字段。现在,我们需要删除所有 user_id 字段为 1001 的订单信息文档。可以使用 deleteMany() 方法来实现。示例代码如下:

db.orders.deleteMany({ user_id: 1001 })

执行上述代码后,orders 集合中所有 user_id 字段为 1001 的文档都会被删除。

结论

deleteMany() 方法是一个用于删除多个文档的方法,可以根据指定的条件删除一个集合中满足条件的所有文档。