“文档” 菜单
文档首页
/
MongoDB Manual
/ / /

Bulk.find.updateOne()

在此页面上

  • 说明
  • 行为
  • 例子

提示

从版本3开始。 2 ,MongoDB 还提供了 db.collection.bulkWrite()方法来执行批量写入操作。

Bulk.find.updateOne(<update>)

将单个文档更新操作添加到批量操作列表中。

使用Bulk.find()方法指定用于确定更新哪个文档的条件。 Bulk.find.updateOne()方法将更新限制为单个文档。要更新多个文档,请参阅Bulk.find.update()

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

参数
类型
说明
更新
文档或管道

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

替换文档

仅包含字段和值对。

另请参阅 Bulk.find.replaceOne()

更新文档
聚合管道

仅包含以下聚合阶段:

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

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

如果<update>文档仅包含更新操作符表达式,如下所示:

{
$set: { status: "D" },
$inc: { points: 2 }
}

然后, Bulk.find.updateOne()仅更新文档中相应的字段statuspoints

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

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

更新方法可以接受聚合管道。例如,以下使用:

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

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

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

提示

另请参阅:

← Bulk.find.replaceOne()

在此页面上