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