对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

db. 集合.initializeOrderedBulkOp()(mongosh方法)

提示

MongoDB 还提供了 db.collection.bulkWrite() 方法用于执行批量写入操作。

db.collection.initializeOrderedBulkOp()

重要

mongosh 方法

本页介绍了mongosh 方法。这不是特定于语言的驾驶员(例如 Node.js)的文档。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

为集合初始化并返回新的 Bulk() 操作构建器。该构建者可以构造 MongoDB 批量执行的写入操作的有序列表。

返回:

新的Bulk()操作构建器对象。

此命令可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

注意

所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令

对于有序操作列表,MongoDB 会按顺序执行列表中的写入操作。

执行ordered 操作列表时, MongoDB按operation type 和连续性对操作进行分组;即,将相同类型的连续操作分组在一起。示例,如果有序列表有两个插入操作,后跟一个更新操作,然后是另一个插入操作,则MongoDB将这些操作分为三个单独的组:第一群组包含两个插入操作,第二群组包含更新操作,第三群组包含包含最后一次插入操作。此行为在未来版本中可能会发生变化。

Bulk()中的mongosh 操作和驱动程序中的类似方法对群组中的操作数量没有限制。要查看如何对操作进行分组以执行批量操作,请在执行后调用Bulk.getOperations()

在分片的集合上执行ordered 操作列表通常比执行unordered 列表慢,因为对于有序列表,每个操作都必须等待前一个操作完成。

如果在处理其中的一个写入操作期间出现错误,MongoDB 将返回而不处理列表中的任何其余写入操作。

Bulk()users以下示例在collection上初始化 操作构建器,添加一系列写入操作,并执行这些操作:

var bulk = db.users.initializeOrderedBulkOp();
bulk.insert( { user: "abc123", status: "A", points: 0 } );
bulk.insert( { user: "ijk123", status: "A", points: 0 } );
bulk.insert( { user: "mop123", status: "P", points: 0 } );
bulk.find( { status: "D" } ).delete();
bulk.find( { status: "P" } ).update( { $set: { comment: "Pending" } } );
bulk.execute();
给本页内容打分