Introduction about Node.js and MongoDB
Last Updated :
28 Mar, 2019
NoSQL databases are databases that store and retrieve the data that is present in a non-tabular format. Depending on the format of the data stored, NoSQL databases are split into 4 major types:
- Key-Value
- Graph database
- Document-oriented
- Column family
These databases are built to address the shortcomings of traditional RDBMS and provide high performance, availability and increased scaling (horizontally), while also handling data which constantly changes it’s schema over time. One of the most popular NoSQL databases which are available today is the MongoDB.
MongoDB is a scalable, high-performance, open-source, document-oriented NoSQL database, which was developed by 10gen in the year 2007. It is written in C++ and it supports a variety of APIs in many programming languages.
Key features of MongoDB:
- Full index support for high performance
- Horizontally scalable and fault tolerant (distributed data storage/sharding)
- Rich document based queries for easy readability
- Replication and failover for high availability
- Map/Reduce for aggregation
- Supports Master-Slave replication
- No joins nor transactions
- No rigid schema, which makes it dynamic
- Data represented in JSON / BSON
When to use MongoDB?
MongoDB can be used in places that require simple queries, easy and fast integration of data and have data whose structure changes constantly with time.
Examples:
- E-commerce websites
- Mobile applications
- Blogs and content management portals
- Storing geospatial data
At the same time, since it doesn’t support transactions, it can’t be used in highly transactional systems.
SQL vs MongoDB
The components used in MySQL and MongoDB have different terminologies, but similar functions.
SQL |
MongoDB |
Database |
Database |
Table |
Collection |
Row |
Document |
Column |
Field |
Index |
Index |
Installing MongoDB (on windows):
Go to the following link (https://www.mongodb.com/download-center/community) and download the MongoDB Community Server.

From here, download the MSI file, and install MongoDB in your computer.
After the installation is complete, open the MongoDB Compass Community application, and select the connect option.

A local instance of MongoDB will now be running on the local host, with the port number 27017.

NodeJS and MongoDB:
Node.js, the open source JavaScript server environment, has the ability to connect to both SQL and NoSQL databases such as MySQL and MongoDB (respectively). In order to use these databases, the required modules need to be downloaded and installed by using the Node Package Manager (npm).
For using the MongoDB, the Mongoose module needs to be installed.
-
Installing Mongoose:
Open the command prompt or terminal and type in the following command to install the Mongoose module
npm install mongoose

Connecting to MongoDB using Node.js
The following Node.js script is used to connect to the local instance of MongoDB.
var client = require( 'mongodb' ).MongoClient;
client.connect(url,{ useNewUrlParser: true }, function (err,db)
{
console.log( "Connected" );
db.close();
});
|
Explanation:
- To connect to a database/create a database, a MongoClient object needs to be created.
- The URL of the MongoDB, followed by the database name should be specified
- Using the connect function of the MongoClient object, a connection is established between the server and the MongoDB.
Note: The admin database is being used here.
Running the Node.js file:
Open the command prompt and navigate to the folder which has the js file, and type in the following command.
node filename.js

Note: If the database mentioned in the URL is not present in the MongoDB when a new document is added, the database is created.
Querying data from MongoDB:
The following code snippet is used to query data from the MongoDB databases.
var client = require( 'mongodb' ).MongoClient;
client.connect(url,{ useNewUrlParser: true }, function (err,db)
{
var dbo=db.db( "admin" )
var cursor = dbo.collection( 'geeks4geeks' ).find();
cursor.each( function (err,doc)
{
if (doc!= null )
console.log(doc);
});
db.close();
});
|
Explanation:
- Using the URL, a connection with the MongoDB server is established.
- Using the DB function, a connection to the admin database is created.
- All the documents present in the geeks4geeks collection is retrieved and displayed in the console.
Note: The admin database is being used here, which contains the collection geeks4geeks with a few documents in it.
Running the Node.js file:
Open the command prompt and navigate to the folder which has the js file, and type in the following command.
node filename.js

These are the documents present in the admin database’s geeks4geeks collection.

Similar Reads
MongoDB: An introduction
MongoDB is a powerful, open-source NoSQL database that offers a document-oriented data model, providing a flexible alternative to traditional relational databases. Unlike SQL databases, MongoDB stores data in BSON format, which is similar to JSON, enabling efficient and scalable data storage and ret
5 min read
Mongoose Module Introduction
MongoDB, the most popular NoSQL database, is an open-source document-oriented database. The term âNoSQLâ means ânon-relationalâ. MongoDB provides us flexible database schema that has its own advantages and disadvantages. Every record in MongoDB collections does not depend upon the other records pres
3 min read
How to Integrate MongoDB in Next.js ?
A developer considers various options carefully for his or her tech stack before writing code. The primary objective is choosing a tech stack that aligns with the project requirements. Therefore, each tool within the tech stack must seamlessly integrate with others, creating a collaborative developm
10 min read
How to Get Data from MongoDB using Node.js?
One can create a simple Node.js application that allows us to get data to a MongoDB database. Here we will use Express.js for the server framework and Mongoose for interacting with MongoDB. Also, we use the EJS for our front end to render the simple HTML form and a table to show the data. Prerequisi
6 min read
NodeJS Introduction
NodeJS is a runtime environment for executing JavaScript outside the browser, built on the V8 JavaScript engine. It enables server-side development, supports asynchronous, event-driven programming, and efficiently handles scalable network applications. NodeJS is single-threaded, utilizing an event l
5 min read
How to Connect Mongodb Authentication by Node.js?
MongoDB is a popular NoSQL database that provides high performance, high availability, and easy scalability. In many applications, you need to connect to a MongoDB database with authentication to ensure data security. This article will guide you through the process of connecting to a MongoDB databas
3 min read
Mongoose Connections
A Mongoose connection is a Node.js module that establishes and manages connections between a Node.js application and a MongoDB database. It optimizes resource utilization, handles connection pooling, and manages errors, facilitating efficient data operations. What is Mongoose Connection?A Mongoose c
6 min read
Default Value in MongoDB using Node.js
Setting default values in MongoDB using Node.js can streamline the database management process by ensuring that certain fields always have an initial value even if they are not provided by the user. This practice is particularly useful for maintaining data integrity, setting fallback values, and sim
2 min read
How to Connect MongoDB Database in a Node.js Applications ?
To connect MongoDB to a Node.js application, you can follow a simple process using the Mongoose library, which provides a flexible way to work with MongoDB. Mongoose acts as an Object Data Modeling (ODM) library, making it easier to structure and interact with MongoDB from Node.js. Prerequisites:Nod
2 min read
MongoDB | ObjectID() Function
ObjectID() Function: MongoDB uses ObjectID to create unique identifiers for all the documents in the database. It is different than the traditional autoincrementing integer ID, but it comes with its own set of advantages. An ObjectID is a GUID (Globally Unique Identifier). GUIDs are generated random
2 min read