Docs Menu
Docs Home
/ / /
Node.js
/ /

Insert a Document

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. For more information on this method, see the insertOne() API documentation.

If the operation successfully inserts a document, it appends an insertedId field to the object passed in the method call, and sets the value of the field to the _id of the inserted document.

You can use the Node.js driver to connect and use the insertOne() method for deployments hosted in the following environments:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

  • MongoDB Enterprise: The subscription-based, self-managed version of MongoDB

  • MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB

To learn more about inserting documents in the Atlas UI for deployments hosted in MongoDB Atlas, see Create, View, Update, and Delete Documents.

Note

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.

1import { MongoClient } from "mongodb";
2
3// Replace the uri string with your MongoDB deployment's connection string.
4const uri = "<connection string uri>";
5
6const client = new MongoClient(uri);
7
8async function run() {
9 try {
10 const database = client.db("insertDB");
11 const haiku = database.collection("haiku");
12 // create a document to insert
13 const doc = {
14 title: "Record of a Shriveled Datum",
15 content: "No bytes, no problem. Just insert a document, in MongoDB",
16 }
17 const result = await haiku.insertOne(doc);
18
19 console.log(`A document was inserted with the _id: ${result.insertedId}`);
20 } finally {
21 await client.close();
22 }
23}
24run().catch(console.dir);
1import { MongoClient } from "mongodb";
2
3// Replace the uri string with your MongoDB deployment's connection string.
4const uri = "<connection string uri>";
5
6const client = new MongoClient(uri);
7
8interface Haiku {
9 title: string;
10 content: string;
11}
12
13async function run() {
14 try {
15 const database = client.db("insertDB");
16 // Specifying a Schema is optional, but it enables type hints on
17 // finds and inserts
18 const haiku = database.collection<Haiku>("haiku");
19 const result = await haiku.insertOne({
20 title: "Record of a Shriveled Datum",
21 content: "No bytes, no problem. Just insert a document, in MongoDB",
22 });
23 console.log(`A document was inserted with the _id: ${result.insertedId}`);
24 } finally {
25 await client.close();
26 }
27}
28run().catch(console.dir);

If you run the preceding example, you should see the following output:

A document was inserted with the _id: <your _id value>

Back

Insert Operations