CRUD operations refer to the basic Insert, Read, Update and Delete operations. In the previous chapter, we learnt about how to create a database and drop the database in MongoDB. Now, let us learn how to perform CRUD (Create/Read/Update/Delete) operations in MongoDB.
The command db.collection.insert()
will perform an insert operation into a collection of a document.
Let us insert a document to a student
collection. You must be connected to a database for doing any insert. It is done as follows:
db.student.insert({
regNo: "3014",
name: "Test Student",
course: {
courseName: "MCA",
duration: "3 Years"
},
address: {
city: "Bangalore",
state: "KA",
country: "India"
}
})
Note that an entry has been made into the collection called student.
To retrieve (Select) the inserted document, run the below command. The find()
command will retrieve all the documents of the given collection.
db.collection_name.find()
NOTE: Please observe that the record retrieved contains an attribute called _id
with some unique identifier value called ObjectId which acts as a document identifier.
If a record is to be retrieved based on some criteria, the find()
method should be called passing parameters, then the record will be retrieved based on the attributes specified.
db.collection_name.find({"fieldname":"value"})
For Example: Let us retrieve the record from the student collection where the attribute regNo is 3014 and the query for the same is as shown below:
db.students.find({"regNo":"3014"})
In order to update specific field values of a collection in MongoDB, run the below query.
db.collection_name.update()
update()
method specified above will take the fieldname and the new value as argument to update a document.
Let us update the attribute name of the collection student for the document with regNo 3014.
db.student.update({
"regNo": "3014"
},
$set:
{
"name":"Viraj"
})
You will see the following in the Command Prompt:
Let us now look into the deleting an entry from a collection. In order to delete an entry from a collection, run the command as shown below:
db.collection_name.remove({"fieldname":"value"})
For Example: db.student.remove({"regNo":"3014"})
Note that after running the remove()
method, the entry has been deleted from the student collection.