On this page
Bulk.find.update()
在本页面
Tip
从 3.2 版开始,MongoDB 还提供了db.collection.bulkWrite()方法来执行批量写入操作。
Description
Bulk.find.
update
(* *)- 2.6 版的新功能。
将multi
更新操作添加到批量操作列表中。该方法更新现有文档中的特定字段。
使用Bulk.find()方法来指定确定要更新哪些文档的条件。 Bulk.find.update()方法更新所有匹配的文档。要指定单个文档更新,请参见Bulk.find.updateOne()。
Bulk.find.update()接受以下参数:
Parameter | Type | Description |
---|---|---|
update |
document | 指定要更新的字段。仅包含update operator个表达式。 |
来自Bulk.find()的关联<query>
文档和更新文档的总和必须小于或等于BSON 文档的最大大小。
要为此操作指定upsert: true,请与Bulk.find.upsert()一起使用。对于Bulk.find.upsert(),如果没有文档符合Bulk.find()查询条件,则更新操作仅插入单个文档。
要指定arrayFilters以指定要更新的数组元素,请与Bulk.find.arrayFilters()一起使用。
要批量批发文件,请参阅Bulk.find.replaceOne()。
Example
以下示例为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();