Getting started with mongodb
Published By Suraj Sharma on 17-8-2020
In this post, we are going to go through some basic concepts of MongoDB and will Perform CRUD operations on console.
What is MongoDB?
MongoDB is an open-source database management system (DBMS). It is based on a document-oriented database. it is a NoSQL database, which means it doesn’t store data in tables and rows as in relational databases. It stores data in JSON-like documents which can be very flexible as we don't have to define the structure, such as the fields or the types of their values. In same collection, documents can have different keys and different data types.
Some Basic Concepts
- Database: It is a physical container that stores our collections. Single MongoDB Server can have multiple databases.
- Collection: It is a group of documents. It is similar to the Table concept in RDBMS. The collection doesn't force our documents to have the same keys and same data types as Table does in RDBMS.
- Document: It is the set of keys and values. It has a flexible schema, which means it can have different keys and data types in the same collection.
Data Types:
Some basic data types in MongoDB
- String: "hello world." is an example of the string. String in MongoDB must be UTF-8 valid.
- Integer: It is used to store numeric data.
- Boolean: It is used to store boolean data, true or false.
- Arrays: It is used to store a collection of data. Example:
['Hello','world','!']
- Object: It is used to store embedded data.
- ObjectId: It is used to store document
_id
, it is a unique id that is generated by default. you can say the primary key in the document.
Some more data types to explore here.
Example of MongoDB document:
{
"_id": ObjectId("5ef0ec62f4347b6a39c856332"), // ObjectId
"name": "Jignesh Verma", // string
"age": 16, // integer
"isStudent": true, // boolean
"isEmployed": false,
"favFruits": [ // array
"Mango",
"Apple"
],
"totalBankBalance": null, // null
"dob": ISODate("2014-02-14T10:50:42.389Z"), // date
"school": { // object
"name": "Rishi High School",
"adderess": "Nainital, Uttarakhand"
},
"created": 1592847458901.0 // timestamp
}
Installation
You can follow these posts to install in your own system.
CRUD:
Create:
You can create a database by using the use
keyword.
and use the db
command to check which database we are currently using.
let's create our collection.
We can list all databases in our mongo server by using show dbs
. Empty Database will not be listed. (if Database has no collection. Then it would be considered as empty.
Now we can insert a document in users collection.
We have inserted one document, let's insert multiple documents at a same time by using db.collectionName.insertMany([{}])
.
Read:
We can retrieve all documents by find operation.
we can also specify query criteria to identify documents in find operation.
Here we have filtered users by age, where we found users greater than equal to 11. $gte
is a MongoDB operator which matches values that are greater than or equal to a specified value. You can learn more about operators in this Article
Mongodb Operator Manual.
We can format or prettify our data by using pretty()
function.
There is another find query which is similar to the find but there is a predefined limit which is one.
As we can add a limit to the find and skip the number of documents by limit()
and skip()
function respectively.
The limit() method limits the number of documents in the result documents.
The skip()
method controls the starting point of the results documents. The following operation skips the first 2 documents in the collection and returns all remaining documents
Update:
Modifies an existing document or ducuments in a collection. db.collectionName.update()
method can update fields or replace existing document.
To update or create specific fields we can use $set
operator.
We updated the one document where "_id" = ObjectId("5f3a85bba730d6aa35fd3faf")
and with the help of $set
operator, where we have updated one field age
and added new field salary
on that document.
we can delete a field by using $unset
operator.
Here we have removed the salary key from all the documents. The multi true option allows updating all the document which matches the where criteria.
We can also pass upsert true as an option. which tells update the document if it exists else to create. db.users.update({},{$unset:{age:""}},{upsert:true})
Delete:
MongoDB provides db.collectionName.deleteMany() db.collectionName.deleteOne()
two functions to remove documents from collections.
To delete all documents db.collectionName.deleteMany({})
pass empty in filter clause.
db.collectionName.deleteOne({})
removes one document which matches the provided criteria.
db.collectionName.deleteMany({})
removes all the document which matches the provided cirteria.
{name:{$exists : true }}
selects the document which has name field in the collection.
Conclusion:
In this post, we have implemented CRUD functionality in MongoDB. Thanks for reading. if you found any issues or you have any query please contact.