MongoDB Insert: Adding documents to collections with various methods and options, including automatic assignment of unique identifiers and flexibility in data structures.

MongoDB Insert

The insert method is used to add documents to collections in MongoDB. The insert method accepts a single document or an array of documents and supports ordered or unordered insertion. It also accepts a write concern and optionally bypasses document validation.

The example below inserts two documents into the employees collection in MongoDB. This method returns a WriteResult or BulkWriteResult, depending on the bulk operation type.


When you insert documents into a collection, MongoDB automatically assigns a unique identifier to each document. The identifier is an ObjectId value. You can also specify a custom identifier. The ObjectId must be unique within a collection to avoid duplicate key errors.

To insert a single document, use the insertOne() method. This method accepts a document as the first parameter and a list of options as the second. The document can include any number of fields and values. You can also use the insertMany() method to insert an array of documents into a collection.

When you insert multiple documents into a collection, MongoDB performs an ordered or unordered insert. If you set the insertMany() method’s writeConcern option to true, MongoDB will insert the documents in an ordered manner. Otherwise, it will insert the documents randomly. The BulkWriteResult object returned by this method contains a field named nInserted that specifies the number of documents inserted. If an error occurs during the insertion process, the BulkWriteResult field will indicate that the inserts failed.


MongoDB documents are stored in collections. If a collection does not exist, the insert() method implicitly creates it. The _id value in the document that you pass to insertOne() must be unique in the collection to avoid a duplicate key error.

Unlike SQL databases, MongoDB does not require a schema to define your data. This flexibility can be helpful when building applications. It allows you to write applications with flexible data structures that can evolve over time.

If you need to add more fields, use the db.collection.insertMany() method. This method inserts an array of documents into a collection. If the documents do not include the _id field, MongoDB automatically adds it and assigns each document a unique ObjectId value. You can then query by _id to retrieve the inserted documents. You can also resolve conflicts by using the Resolve restore conflict dialog. The Resolve restore conflict dialog can delete the deleted documents from your collection’s History or overwrite them with new documents that have a unique _id value.


MongoDB insert is a powerful way to add data to a collection. It can be used to create a single document or multiple documents at once using the insertOne and insertMany methods.

Each document in a MongoDB database has a unique identifier called an ObjectId, which is a 16-byte number. The ObjectId is used to identify the document uniquely and is guaranteed to be unique across the entire database.

A timestamp value, which represents the date and time of the ObjectId’s creation in seconds since the Unix epoch. A counter, which is initialized to a random value.

The insertMany() method uses the id parameter to specify the document or array of documents to insert. This id is then stored in the _id field of the inserted document or document array. In addition, the id is used to identify the document in a result set returned by the insertMany() function. The id parameter also specifies whether to use ordered or unordered inserts.


A BulkWriteResult is a document that acknowledges a bulk insert operation. It includes the number of documents inserted and their ObjectId values. The ObjectId values are specific to the machine and time at which the insertion was performed. This allows MongoDB to insert documents into collections that do not yet exist, even when the insertion is part of a transaction. For more information on inserting documents, see Insert Behavior.

The BulkWriteResult document also contains the opcount, which is the total number of write operations (including inserts and updates) that were sent to the database. It also includes the has_modified count, which indicates how many documents were modified by an update or replacement operation.

Bulk operations are used for executing insert/update/remove actions on a collection in a single batch. These operations use low level bulk commands at the protocol level. These commands are processed by a driver to compose typed write operations, which are then sent to the database in a single round-trip.

Navigate further to learn more

Leave a Reply

Your email address will not be published. Required fields are marked *