- MongoDB CRUD Operations >
- Insert Documents
Insert Documents¶
This page provides examples of insert operations in MongoDB.
Creating a Collection
If the collection does not currently exist, insert operations will create the collection.
Insert a Single Document¶
New in version 3.2.
- Mongo Shell
- Python
- Java (Sync)
- Node.js
- PHP
- Other
db.collection.insertOne() inserts a single
document into a collection.
The following example inserts a new document into the
inventory collection. If the document does not specify
an _id field, MongoDB adds the _id field with an
ObjectId value to the new document. See
Insert Behavior.
pymongo.collection.Collection.insert_one() inserts a
single document into a
collection.
The following example inserts a new document into the
inventory collection. If the document does not specify
an _id field, the PyMongo driver adds the _id field
with an ObjectId value to the new document. See
Insert Behavior.
com.mongodb.client.MongoCollection.insertOne inserts a single document into a collection.
The following example inserts a new document into the
inventory collection. If the document does not specify
an _id field, the driver adds the _id field with an
ObjectId value to the new document. See
Insert Behavior.
Collection.insertOne() inserts a single document into a collection.
The following example inserts a new document into the
inventory collection. If the document does not specify
an _id field, the Node.js driver adds the _id field
with an ObjectId value to the new document. See
Insert Behavior.
MongoDB\Collection::insertOne()
inserts a single document into a
collection.
The following example inserts a new document into the
inventory collection. If the document does not specify
an _id field, the PHP driver adds the _id field
with an ObjectId value to the new document. See
Insert Behavior.
com.mongodb.reactivestreams.client.MongoCollection.insertOne inserts a single document into a collection with the Java Reactive Streams Driver:
The following example inserts the document above into the
inventory collection. If the document does not specify
an _id field, the driver adds the _id field with an
ObjectId value to the new document. See
Insert Behavior.
IMongoCollection.InsertOne() inserts a single document into a collection.
The following example inserts a new document into the
inventory collection. If the document does not specify
an _id field, the C# driver adds the _id field
with an ObjectId value to the new document. See
Insert Behavior.
MongoDB::Collection::insert_one() inserts a single document into a collection.
The following example inserts a new document into the
inventory collection. If the document does not specify
an _id field, the Perl driver adds the _id field
with an ObjectId value to the new document. See
Insert Behavior.
Mongo::Collection#insert_one() inserts a single document into a collection.
The following example inserts a new document into the
inventory collection. If the document does not specify
an _id field, the Ruby driver adds the _id field
with an ObjectId value to the new document. See
Insert Behavior.
collection.insertOne() inserts a single document into a collection.
The following example inserts a new document into the
inventory collection. If the document does not specify
an _id field, the Scala driver adds the _id field
with an ObjectId value to the new document. See
Insert Behavior.
- Mongo Shell
- Python
- Java (Sync)
- Node.js
- PHP
- Other
You can run the operation in the web shell below:
- Mongo Shell
- Python
- Java (Sync)
- Node.js
- PHP
- Other
insertOne() returns a document that
includes the newly inserted document’s _id field value. For
an example of a return document, see
db.collection.insertOne() reference.
insert_one() returns an
instance of pymongo.results.InsertOneResult whose
inserted_id field contains the _id of the newly
inserted document.
insertOne() returns a
promise that provides a result. The result.insertedId
promise contains the _id of the newly inserted document.
Upon successful insert, the
insertOne()
method returns an instance of
MongoDB\InsertOneResult
whose
getInsertedId()
method returns the _id of the newly inserted document.
com.mongodb.reactivestreams.client.MongoCollection.insertOne
returns a Publisher
object. The Publisher inserts the document into a collection when subscribers request data.
Upon successful insert, the
insert_one() method returns
an instance of
MongoDB::InsertOneResult whose
inserted_id attribute contains the _id of the newly
inserted document.
Upon successful insert, the
insert_one()
method returns an instance of
Mongo::Operation::Result, whose
inserted_id attribute contains the _id of the newly
inserted document.
Upon successful insert, the
collection.insertOne()
method returns an instance of
collection.insertOne().results(); whose
inserted_id attribute contains the _id of the newly
inserted document.
To retrieve the document that you just inserted, query the collection:
- Mongo Shell
- Python
- Java (Sync)
- Node.js
- PHP
- Other
Insert Multiple Documents¶
New in version 3.2.
- Mongo Shell
- Python
- Java (Sync)
- Node.js
- PHP
- Other
db.collection.insertMany() can insert multiple
documents into a collection. Pass an
array of documents to the method.
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, MongoDB adds the _id field with an ObjectId
value to each document. See Insert Behavior.
pymongo.collection.Collection.insert_many() can insert
multiple documents into a
collection. Pass an iterable of documents to the method.
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, the PyMongo driver adds the _id field with
an ObjectId value to each document. See Insert Behavior.
com.mongodb.client.MongoCollection.insertMany can insert multiple documents into a collection. Pass a list of documents to the method.
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, the driver adds the _id field with
an ObjectId value to each document. See Insert Behavior.
Collection.insertMany() can insert multiple documents into a collection. Pass an array of documents to the method.
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, the Node.js driver adds the _id field with
an ObjectId value to each document. See
Insert Behavior.
MongoDB\Collection::insertMany()
can insert multiple documents into a
collection. Pass an array of documents to the method.
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, the PHP driver adds the _id field with
an ObjectId value to each document. See Insert Behavior.
com.mongodb.reactivestreams.client.MongoCollection.html.insertMany inserts the following documents with the Java Reactive Streams Driver:
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, the driver adds the _id field with
an ObjectId value to each document. See Insert Behavior.
IMongoCollection.InsertMany() can insert multiple documents into a collection. Pass an enumerable collection of documents to the method.
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, the driver adds the _id field with
an ObjectId value to each document. See Insert Behavior.
MongoDB::Collection::insert_many() can insert multiple documents into a collection. Pass an array reference of documents to the method.
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, the Perl driver adds the _id field with
an ObjectId value to each document. See Insert Behavior.
Mongo::Collection#insert_many() can insert multiple documents into a collection. Pass an array of documents to the method.
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, the Ruby driver adds the _id field with
an ObjectId value to each document. See Insert Behavior.
collection.insertMany() can insert multiple documents into a collection.
The following example inserts three new documents into the
inventory collection. If the documents do not specify an
_id field, the Scala driver adds the _id field with
an ObjectId value to each document. See Insert Behavior.
- Mongo Shell
- Python
- Java (Sync)
- Node.js
- PHP
- Other
You can run the operation in the web shell below:
- Mongo Shell
- Python
- Java (Sync)
- Node.js
- PHP
- Other
insertMany() returns a document that includes
the newly inserted documents _id field values. See the
reference for an example.
insert_many() returns
an instance of pymongo.results.InsertManyResult
whose inserted_ids field is a list containing the _id
of each newly inserted document.
insertMany() returns a
promise that provides a result. The result.insertedIds
field contains an array with the _id of each newly inserted
document.
Upon successful insert, the
insertMany()
method
returns an instance of
MongoDB\InsertManyResult
whose
getInsertedIds()
method returns the _id of each newly inserted document.
com.mongodb.reactivestreams.client.MongoCollection.html.insertMany
returns a Publisher
object. The Publisher inserts the document into a collection
when subscribers request data.
Upon successful insert, the
insert_many() method
returns an instance of
MongoDB::InsertManyResult
whose inserted_ids attribute is a list containing the
_id of each newly inserted document.
Upon successful insert, the
insert_many() method
returns an instance of
Mongo::BulkWrite::Result
whose inserted_ids attribute is a list containing the
_id of each newly inserted document.
Upon successful insert, the
insertMany()
method returns an Observable with a type parameter indicating when
the operation has completed or with either a
com.mongodb.DuplicateKeyException or
com.mongodb.MongoException.
To retrieve the inserted documents, query the collection:
- Mongo Shell
- Python
- Java (Sync)
- Node.js
- PHP
- Other
Insert Behavior¶
Collection Creation¶
If the collection does not currently exist, insert operations will create the collection.
_id Field¶
In MongoDB, each document stored in a collection requires a unique
_id field that acts as a primary key. If an inserted
document omits the _id field, the MongoDB driver automatically
generates an ObjectId for the _id field.
This also applies to documents inserted through update operations with upsert: true.
Atomicity¶
All write operations in MongoDB are atomic on the level of a single document. For more information on MongoDB and atomicity, see Atomicity and Transactions
Write Acknowledgement¶
With write concerns, you can specify the level of acknowledgement requested from MongoDB for write operations. For details, see Write Concern.
- Mongo Shell
- Python
- Java (Sync)
- Node.js
- PHP
- Other
See also
pymongo.collection.Collection.insert_one()pymongo.collection.Collection.insert_many()- Additional Methods for Inserts
See also
MongoDB\Collection::insertOne()MongoDB\Collection::insertMany()- Additional Methods for Inserts