DEV Community

Cover image for CRUD Operation
Md Nazmul Islam
Md Nazmul Islam

Posted on

CRUD Operation

MongoDB is a document-oriented database program widely classified as a NoSQL database program.
In MongoDB, the CRUD operation refers to the creating, reading, updating, and deleting documents. Here is an explanation of the operations in detail:

Create
Create (or insert) operations add new documents to a collection. There are two ways to add new documents to a collection:

  • db.collection.insertOne()
  • db.collection.insertMany() insertOne() operation allows us to create individual documents in a collection, while the insertMany() operation is used to create multiple documents in a single operation.

Example 1:
Here is an example of how we can add a single car to the cars collection using the insertOne() operation:

db.cars.insertOne(
//inserting Bugatti Veyron Mansory Vivere-2005 into cars collection
    {
       name: "Bugatti Veyron Mansory Vivere"
       model: "2005"
    }
)
Enter fullscreen mode Exit fullscreen mode

Example 2:
Now we will see how we can add info of multiple cars to the cars collection with a single operation using insertMany().

db.cars.insertMany([{
//inserting three cars along with their models into cars collection
       name: "Bugatti Veyron Mansory Vivere"
       model: "2005"
},{
       name: "Aston Martin AM-RB 001"
       model: "2018"
},{
       name: "Ferrari Pininfarina Sergio"
       model: "2013"
}])
Enter fullscreen mode Exit fullscreen mode

Read
Read operations retrieve documents from a collection. Here is the method in Mongodb to retrieve information:

  • db.collection.find()
    find() operation will return everything from a collection if you call it without any parameters. On the other hand, we can specify any filter or criteria to retrieve information from a collection using:

  • db.collection.find(query)
    Example:
    Here is an example of how we can read information about all cars from the cars collection:
    db.cars.find() // no parameters

Output:

{ "_id" : ObjectId("1"), "name" : "Bugatti Veyron Mansory Vivere", "model" : "2005" }
{ "_id" : ObjectId("2"), "name" : "Aston Martin AM-RB 001", "model" : "2018" }
{ "_id" : ObjectId("3"), "name" : "Ferrari Pininfarina Sergio", "2013" : "2005" }

Enter fullscreen mode Exit fullscreen mode

Update

Update operations modify existing documents in a collection. There are three ways to update documents of a collection:

  • db.collection.updateOne()
    – Updates one field in the document where the given criteria or filter meets the condition. Updating a field will not remove the old field instead a new field will be added to the document.

  • db.collection.updateMany()
    – Updates all fields in the document where the given criteria or filter meets the condition.

  • db.collection.replaceOne()
    – Replace the entire document. It will replace the old fields and values with new ones.
    Example: if we have the following document:

{
   "_id" : ObjectId("1"),
   "model" : 2005
}

Enter fullscreen mode Exit fullscreen mode

Using:
replaceOne({"_id" : ObjectId("1")}, { "new_model" : 2020})
will result in:

{
   "_id" : ObjectId("1"),
   "new_model" : 2020
}

Enter fullscreen mode Exit fullscreen mode

While using:
updateOne({"_id" : ObjectId("1")}, {$set: { "new_model" : 2020}})
Will result in:

{
   "_id" : ObjectId("1"),
   "model" : 2005,
   "new_model" : 2020
}
Enter fullscreen mode Exit fullscreen mode

While using:
updateMany({"_id" : ObjectId("1")}, {$set: { "name" : "NewName"}, $set: { "new_model" : 2020}})
will result in:

{
   "_id" : ObjectId("1"),
   "model" : 2005,
   "new_model" : 2020
   "name" : "newName"
}
Enter fullscreen mode Exit fullscreen mode

Delete
Delete operations delete documents from a collection. There are two methods to delete documents of a collection:

  • db.collection.deleteOne()
  • db.collection.deleteMany() deleteOne() method removes only the first document matched by the query filter document, and deleteMany() deletes multiple objects at once. Example 1: Here is an example of how we can remove only one car having the model “2013” from the cars collection: db.cars.deleteOne( //deletes one car having model "2013" { "model": "2013" } ) Example 2: Here is an example of how all cars, having the model “2013” - can be deleted from the cars collection:
db.cars.deleteMany(
//delete all cars having model "2013"
    { "model": "2013" }
)
Enter fullscreen mode Exit fullscreen mode

Top comments (0)