参考 > 参考 > mongo Shell方法 > 批量操作方法 > db.collection.initializeOrderedBulkOp()
小费
从3.2版开始,MongoDB还提供了db.collection.bulkWrite()执行批量写入操作的
方法。
db.collection.initializeOrderedBulkOp()¶mongo 壳法
此页面记录了mongoshell方法,并且
没有引用MongoDB Node.js驱动程序(或任何其他驱动程序)方法。对于相应的MongoDB驱动程序API,请改为参考您特定的
MongoDB驱动程序文档。
初始化并返回Bulk()集合的新操作生成器。构建器构建MongoDB批量执行的写操作的有序列表。
| 返回值: | 新的Bulk()操作生成器对象。 |
|---|
使用有序操作列表,MongoDB会顺序执行列表中的写操作。
执行ordered操作列表时,MongoDB按和连续性对操作进行分组;即,相同类型的连续操作被分组在一起。例如,如果一个有序列表具有两个插入操作,然后是一个更新操作,然后是另一个插入操作,则MongoDB会将这些操作分为三组:第一组包含两个插入操作,第二组包含更新操作,第三组包含最后的插入操作。此行为可能会在将来的版本中更改。operation type
每组操作最多可以有一个。如果一个组超过了该组,则MongoDB会将其分为1000个或更少的较小组。例如,如果批量操作列表包含2000个插入操作,则MongoDB将创建2个组,每个组包含1000个操作。1000 operationslimit
大小和分组机制是内部性能的详细信息,将来可能会更改。
若要查看如何将操作分组以执行批量操作,请在执行后调用。Bulk.getOperations()
ordered在分片集合上执行操作列表通常比执行unordered列表要慢,
因为对于有序列表,每个操作必须等待上一个操作完成。
如果在写操作之一的处理过程中发生错误,MongoDB将返回而不处理列表中任何剩余的写操作。