On this page
Bulk.find.updateOne()
在本页面
Tip
从 3.2 版开始,MongoDB 还提供了db.collection.bulkWrite()方法来执行批量写入操作。
Description
Bulk.find.
updateOne
(* *)- 2.6 版的新功能。
将单个文档更新操作添加到批量操作列表中。
使用Bulk.find()方法来指定确定要更新哪个文档的条件。 Bulk.find.updateOne()方法将更新限制为单个文档。要更新多个文档,请参见Bulk.find.update()。
Bulk.find.updateOne()接受以下参数:
Parameter | Type | Description |
---|---|---|
update |
document | 一个更新文档,指定要进行的修改。用update operator表达式指定修改。 |
来自Bulk.find()的关联<query>
文档和更新文档的总和必须小于或等于maximum BSON document size
。
要为此操作指定upsert: true,请与Bulk.find.upsert()一起使用。
要指定arrayFilters以指定要更新的数组元素,请与Bulk.find.arrayFilters()一起使用。
要批量批发文件,请参阅Bulk.find.replaceOne()。
Behavior
如果<update>
文档仅包含update operator表达式,例如:
{
$set: { status: "D" },
$inc: { points: 2 }
}
然后,Bulk.find.updateOne()仅更新文档中相应的字段status
和points
。
Example
以下示例为items
集合初始化Bulk()操作构建器,并将各种updateOne操作添加到操作列表中。
var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "D" } ).updateOne( { $set: { status: "I", points: "0" } } );
bulk.execute();