rmdir.cn

db.collection.updateMany()

批量更新文档

语法

db.collection.updateMany(<filter>, <update>, <options>)

说明

更新所有匹配过滤条件的文档。与 updateOne 不同,此方法会更新所有符合条件的记录,需谨慎使用过滤条件。

参数

  • filter必填

    过滤条件,匹配要更新的所有文档

  • update必填

    更新操作符

  • upsert

    不存在时是否插入

示例

批量更新状态

将过期订单标记为已过期

db.orders.updateMany({ status: "pending", expireAt: { $lt: new Date() } }, { $set: { status: "expired" } })

$unset 删除字段

移除所有文档的临时字段

db.users.updateMany({}, { $unset: { tempField: "" } })

$push 追加数组元素

为符合条件的文档添加标签

db.articles.updateMany({ category: "tech" }, { $push: { tags: "latest" } })