db.collection.initializeUnorderedBulkOp()
On this page
Tip
MongoDB also provides the db.collection.bulkWrite()
method for
performing bulk write operations.
Definition
db.collection.initializeUnorderedBulkOp()
Important
mongosh Method
This is a
mongosh
method. This is not the documentation forNode.js
or other programming language specific driver methods.In most cases,
mongosh
methods work the same way as the legacymongo
shell methods. However, some legacy methods are unavailable inmongosh
.For the legacy
mongo
shell documentation, refer to the documentation for the corresponding MongoDB Server release:For MongoDB API drivers, refer to the language specific MongoDB driver documentation.
Initializes and returns a new
Bulk()
operations builder for a collection. The builder constructs an unordered list of write operations that MongoDB executes in bulk.
Compatibility
This command is available in deployments hosted in the following environments:
MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Note
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
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.
Bulk()
operations in mongosh
and comparable
methods in the drivers do not have a limit for the number of operations
in a group. To see how the operations are grouped for 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();