- Reference >
mongo
Shell Methods >- Bulk Operation Methods >
- db.collection.initializeUnorderedBulkOp()
db.collection.initializeUnorderedBulkOp()¶
On this page
Tip
Starting in version 3.2, MongoDB also provides the
db.collection.bulkWrite()
method for performing bulk
write operations.
Definition¶
Behavior¶
Order of Operation¶
With an unordered operations list, MongoDB can execute in parallel
the write operations in the list and in any order. If the order of
operations matter, use
db.collection.initializeOrderedBulkOp()
instead.
Execution of Operations¶
When executing an unordered
list of operations,
MongoDB groups the operations. With an unordered bulk operation, the
operations in the list may be reordered to increase performance. As
such, applications should not depend on the ordering when performing
unordered
bulk
operations.
Each group of operations can have at most 1000 operations
. If a group exceeds this limit
, MongoDB will divide the group into
smaller groups of 1000 or less. For example, if the bulk operations list
consists of 2000 insert operations, MongoDB creates 2 groups, each with
1000 operations.
The sizes and grouping mechanics are internal performance details and are subject to change in future versions.
To see how the operations are grouped for a bulk operation execution,
call Bulk.getOperations()
after the execution.
Error Handling¶
If an error occurs during the processing of one of the write operations, MongoDB will continue to process remaining write operations in the list.
Example¶
The following initializes a Bulk()
operations builder and
adds a series of insert operations to add multiple documents:
var bulk = db.users.initializeUnorderedBulkOp();
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.execute();