Docs 菜单

Docs 主页开发应用程序MongoDB Manual

Bulk.find.update()

在此页面上

  • 说明
  • 例子

提示

Bulk.find.update(<update>)

multi 更新操作添加到批量操作列表中。该方法将更新现有文档中的特定字段。

使用Bulk.find()方法指定用于确定要更新哪些文档的条件。 Bulk.find.update()方法会更新所有匹配的文档。要指定单个文档更新,请参阅Bulk.find.updateOne()

Bulk.find.update() 接受以下参数:

范围
类型
说明
更新
文档或管道

要应用的修改。可以是以下之一:

更新文档

聚合管道

从 MongoDB 4.2 开始

仅包含以下聚合阶段:

有关更新修改参数的更多信息,请参阅 db.collection.updateMany() 参考页面。

Bulk.find() 和更新文档中关联 <query> 文档的总和必须小于或等于最大 BSON 文档大小

以下示例将为 items 集合初始化 Bulk() 操作构建者,并将各种 multi 更新操作添加到操作列表。

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "D" } ).update( { $set: { status: "I", points: "0" } } );
bulk.find( { item: null } ).update( { $set: { item: "TBD" } } );
bulk.execute();

从版本4开始。 2 ,更新方法可以接受聚合管道。例如,以下用途:

  • $set 阶段,可以提供与 $set 更新操作符表达式类似的行为,

  • 聚合变量 NOW,解析为当前日期时间,可以提供与 $currentDate 更新操作符表达式相似的行为。要访问聚合变量,在变量前加上双美元符号 $$ 并用引号引起来。

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "P" } ).update(
[
{ $set: { points: 0, lastModified: "$$NOW" } }
]
);
bulk.execute();

提示

另请参阅:

← Bulk.find.updateOne()

在此页面上