Insert a Document


If you specify a callback method, insertOne() returns nothing. If you do not specify one, this method returns a Promise that resolves to the result object when it completes. See our guide on Promises and Callbacks for more information, or the API documentation for information on the result object.

You can insert a document into a collection using the collection.insertOne() method. To insert a document, define an object that contains the fields and values that you want to store. If the specified collection does not exist, the insertOne() method creates the collection.

You can specify additional query options using the options parameter. For more information on the method parameters, see the insertOne() API documentation. You can also pass a callback method as an optional third parameter. For more information on this method, see the insertOne() API documentation.

The insertedId field of this object is the _id of the inserted document. If the operation fails to create a document, the insertedCount field of this object has a value of 0. If the operation creates a document, the insertedCount field of this object has a value of 1.


You can use this example to connect to an instance of MongoDB and interact with a database that contains sample data. To learn more about connecting to your MongoDB instance and loading a sample dataset, see the Usage Examples guide.

1const { MongoClient } = require("mongodb");
3// Replace the uri string with your MongoDB deployment's connection string.
4const uri =
5 "mongodb+srv://<user>:<password>@<cluster-url>?writeConcern=majority";
7const client = new MongoClient(uri);
9async function run() {
10 try {
11 await client.connect();
13 const database = client.db("sample_mflix");
14 const movies = database.collection("movies");
15 // create a document to be inserted
16 const doc = { name: "Red", town: "kanto" };
17 const result = await movies.insertOne(doc);
19 console.log(
20 `${result.insertedCount} documents were inserted with the _id: ${result.insertedId}`,
21 );
22 } finally {
23 await client.close();
24 }
Give Feedback