This post will help us to learn How to add document in the MongoDB collection.
MongoDB has `insert()` and `save()` method to add a document into collection.
Syntax:
db.COLLECTION_NAME.insert(document)
Insert Single record:
Example:
> use learnmongodb
switched to db learnmongodb
> db.books.insert({
'title':'MongoDB',
'description':'Learn MongoDB with NoSQL',
'version':'4.x'
})
WriteResult({ "nInserted" : 1 })
[OR]
> db.books.insertOne({
'title':'MongoDB',
'description':'Learn MongoDB with NoSQL',
'version':'4.x'
})
{
"acknowledged" : true,
"insertedId" : ObjectId("5b8e859670e393ef22ee63ed")
}
>
insertOne() – Return Value: It returns the _id of the document inserted into the database.
insert() or insertOne() method will create a new collection If It does not exist in selected MongoDB.
To retrieve the inserted documents from the collection, We need to use find() method.
> db.books.find()
{ "_id" : ObjectId("5b8e859670e393ef22ee63ed"), "title" : "MongoDB", "description" : "Learn MongoDB with NoSQL", "version" : "4.x" }
> db.books.find().pretty()
{
"_id" : ObjectId("5b8e859670e393ef22ee63ed"),
"title" : "MongoDB",
"description" : "Learn MongoDB with NoSQL",
"version" : "4.x"
}
>
In above sample, We have learned to insert a document and displayed data from collection using find() method.
Insert Multiple records:
To insert multiple documents in a single query, We have to pass an array of documents.
Example:
> db.books.insert([
{
'title':'PHP',
'description':'Learn PHP with MongoDB',
'version':'4.x'
},
{
'title':'JAVA',
'description':'Learn JAVA with MongoDB',
'version':'4.x'
},
{
'title':'C#',
'description':'Learn C# with MongoDB',
'version':'4.x'
},
])
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 3,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
>
[OR]
> db.books.insertMany([
{
'title':'PHP',
'description':'Learn PHP with MongoDB',
'version':'4.x'
},
{
'title':'JAVA',
'description':'Learn JAVA with MongoDB',
'version':'4.x'
},
{
'title':'C#',
'description':'Learn C# with MongoDB',
'version':'4.x'
},
])
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("5b8e877270e393ef22ee63ee"),
ObjectId("5b8e877270e393ef22ee63ef"),
ObjectId("5b8e877270e393ef22ee63f0")
]
}
>
insertMany() – Return Value: It returns the _ids of the documents inserted into the database.
To retrieve the inserted records,
> db.books.find().pretty()
{
"_id" : ObjectId("5b8e859670e393ef22ee63ed"),
"title" : "MongoDB",
"description" : "Learn MongoDB with NoSQL",
"version" : "4.x"
}
{
"_id" : ObjectId("5b8e877270e393ef22ee63ee"),
"title" : "PHP",
"description" : "Learn PHP with MongoDB",
"version" : "4.x"
}
{
"_id" : ObjectId("5b8e877270e393ef22ee63ef"),
"title" : "JAVA",
"description" : "Learn JAVA with MongoDB",
"version" : "4.x"
}
{
"_id" : ObjectId("5b8e877270e393ef22ee63f0"),
"title" : "C#",
"description" : "Learn C# with MongoDB",
"version" : "4.x"
}
>
_id Field:
If a document doesn’t have a `_id` field, MongoDB will add new field `_id` in the document and assign a new unique object id to that field before inserting that record in the database.
If a document is having `_id`, It must be unique. Otherwise, we will get a duplicate key error.
Insert Document with `_id`:
> db.books.insert({
"_id" : 123456789,
"title" : "NodeJS",
"description" : "Learn JAVA with MongoDB",
"version" : "4.x"
})
WriteResult({ "nInserted" : 1 })
> db.books.find().pretty()
{
"_id" : 123456789,
"title" : "NodeJS",
"description" : "Learn JAVA with MongoDB",
"version" : "4.x"
}
>
Add Document using Save() method:
To insert a document, We can use save() method instead of insert() method.
– If you do not specify `_id` in the document, It will add a new document like insert() method.
– If you specify `_id` in the document, It will replace that document data.