Install MongoDB on Ubuntu a Step-by-Step Guide

Learn how to install MongoDB on Ubuntu with our step-by-step guide. Get started with this popular NoSQL database and boost your development projects today.

Updated: 03 Dec, 24 by Susith Nonis 10 Min

List of content you will read in this article:

Are you bored with your current database? Want to spice things up with something new and exciting? Well, look no further than MongoDB! This popular NoSQL database offers flexibility and scalability, making it a developer favorite. And the best part? It's super easy to install on your Windows machine. Don't worry; you don't have to be a tech wizard to get started. In this step-by-step guide, we'll show you how simple it is to install MongoDB on your Windows computer. Let's get started and unleash the power of MongoDB!

MongoDB is the hot new thing in the database world. It's like a unicorn in a field of horses - unique, magical, and captivating. But enough with the fairy tales. MongoDB is a popular NoSQL database known for its flexibility and scalability. It's designed to handle unstructured data, making it a favorite among developers. Whether building a new app or refreshing an old one, MongoDB can help you store and organize your data like a boss.

Scalability

MongoDB is designed to handle concurrent reads and writes at a massive scale, making it a top choice for companies with data-intensive applications that need to accommodate sudden spikes in traffic. With MongoDB on Ubuntu, you can easily scale horizontally as your data needs grow.

Flexibility

MongoDB is a document-oriented database that allows storing data in flexible schemas, so you can easily adjust your database structure as your application evolves. Installing MongoDB on Ubuntu allows you to define your data model based on your application domain requirements.

Replication

MongoDB provides built-in replication capabilities that enable you to create redundant copies of your data across multiple nodes. This ensures high availability, fault tolerance, and data durability. By deploying MongoDB on Ubuntu, you can easily create replica sets and manage failover scenarios.

Indexing

MongoDB supports a range of indexing options that optimize your queries for performance. Installing MongoDB on Ubuntu allows you to create indexes on any field and configure them based on your query patterns. This enables you to quickly retrieve the data you need without sacrificing performance.

Security

MongoDB provides robust security features that protect your data against unauthorized access, data breaches, and other security threats. With MongoDB on Ubuntu, you can implement data encryption, authentication, and authorization mechanisms to secure your data.

Community Support

MongoDB is an open-source database with a large, active community of developers and users. Installing MongoDB on Ubuntu gives you access to a wealth of resources, including forums, documentation, and tutorials, to help you get started and troubleshoot any issues.

Integration

MongoDB integrates with popular programming languages and frameworks, including Python, Ruby, Java, and Node.js. Installing MongoDB on Ubuntu lets you easily connect your application to the database and leverage its powerful features.

Performance

MongoDB is designed to deliver high performance for read and write-intensive workloads, making it a popular choice for modern applications. Installing MongoDB on Ubuntu allows you to optimize your database configuration for optimal performance and scalability.

Read the guide below to learn how to install MongoDB on Ubuntu.

Step 1: Install MongoDB

  • Open the terminal on Ubuntu.
  • Update the package list by running the command:

sudo apt-get update

  • Install MongoDB by running the command:

sudo apt-get install -y mongodb

Step 2: Start and enable the MongoDB service

To start and enable the MongoDB service, follow these steps:

  • Check the status of the MongoDB service by running:

sudo systemctl status mongodb

  • Start the MongoDB service:

sudo systemctl start mongodb

  • Enable the MongoDB service to start at boot time:

sudo systemctl enable mongodb

  • Verify MongoDB installation:

mongo --version

  • Run the MongoDB shell by typing:

mongo

  • To exit the MongoDB shell, type:

exit

Step 3: Create a database and a user in MongoDB

To create a database and a user in MongoDB, you can follow these steps after installing MongoDB on your Ubuntu system:

  1.  Start the MongoDB shell with this command:

$ mongosh

      2. Create a new database:

With this command, you can switch to the database you want to create. MongoDB will create the database when you insert data into it. Therefore this database will appear after adding data.

use myDatabase

Now you can add a document or data with the command:

db.[collection_name].insertOne({ [field]: "[value]" })

Replace the placeholders with the actual collection, field, and value names

    3. Create a new user:

Use the `db.createUser()` method to create an administrative user. Replace `admin` with your desired username, `myPassword` with your password, and `myDatabase` with the name of your database:

db.createUser({

user: "admin",

pwd: "myPassword",

roles: [{ role: "readWrite", db: "myDataBase" }]

   })

    4. Verify the user creation:

 To verify that the user has been created successfully, you can run:

   show users

This will display a list of users for the current database.

Step 4: Secure MongoDB

Securing MongoDB after installation is crucial to protect your data. Follow these steps to secure your MongoDB installation:

  1. Enable Authentication:

By default, MongoDB does not enable authentication, which means anyone can access your databases. To enable it, you need to modify the MongoDB configuration file. Start with this command:

sudo nano /etc/mongod.conf

    2. Find the Security section and add or update the following lines:

security:

authorization: "enabled"

    3. Restart MongoDB:

sudo systemctl restart mongod

Step 5:Configure MongoDB for remote access

To configure MongoDB for remote access, follow these steps:

  1. Edit the MongoDB Configuration File:

Open the MongoDB configuration file using a text editor:

sudo nano /etc/mongod.conf

Then, find the `net` section and update the `bindIp` parameter to include the IP address of your MongoDB server. For example, to allow access from any IP address, you can set it to `0.0.0.0`:

Net:

bindIp: 0.0.0.0

Alternatively, you can specify the IP address:

Net:

bindIp: 127.0.0.1,<your_server_ip>

  Save and close the file.

   2. Restart MongoDB:

Restart the MongoDB service to apply the changes:

sudo systemctl restart mongod

  3. Allow MongoDB Port in Firewall

If you have a firewall enabled, ensure that it allows traffic on MongoDB's default port (27017). For `ufw` (Uncomplicated Firewall), use the following commands:

sudo ufw allow 27017

For `iptables` use:

sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT

Step 6: Access MongoDB remotely

To connect to MongoDB remotely, use the following command:

mongo --host <your_server_ip> -u "admin" -p "securepassword" --authenticationDatabase "admin"

Replace `<your_server_ip>` with the IP address of your MongoDB server, `admin` with your username, and `securepassword` with your password.

** If you encounter connection issues, check firewall settings, ensure MongoDB is running on the specified IP and port, and review MongoDB logs for any errors.

Step 7: Work with MongoDB database

To work with a MongoDB database, you can use various drivers or tools. Below are examples of using the MongoDB shell to insert, retrieve, update, and delete data.

Insert data

To insert data into a MongoDB collection, you use the `insertOne` or `insertMany` methods.

First, connect to the database

use myDatabase

Then, insert a single document into the collection

db.myCollection.insertOne({ name: "Emma", age: 20, city: "New York" })

or insert multiple documents into the collection

db.myCollection.insertMany([

  { name: "James", age: 25, city: "San Francisco" },

  { name: "Charlie", age: 30, city: "London" }

])

Retrieve data

To retrieve data, you use the `find` method. There are three different situations to retrieve data:

  1. To retrieve all documents in the collection, use this command:

db.myCollection.find()

      2. To retrieve documents with a specific condition:

For example, if you want to retrieve documents where the name is "Alice"

db.myCollection.find({ name: "Emma" })

      3. To retrieve documents with a projection ( specific fields):

For example, if you want to retrieve documents where the age is greater than 25 and only show name and age fields, use this command:

db.myCollection.find({ age: { $gt: 25 } }, { name: 1, age: 1, _id: 0 })

Update data

To update data, you can use the updateOne, updateMany, or replaceOne methods.

  1. To update a single document: set the age to 25 where the name is "Emma"

db.myCollection.updateOne({ name: "Emma" }, { $set: { age: 25} })

      2. To update multiple documents: increment age by 1 where the city is "New York"

db.myCollection.updateMany({ city: "New York" }, { $inc: { age: 1 } })

      3. To replace an entire document where the name is "Alice"

db.myCollection.replaceOne({ name: "Alice" }, { name: "Alice", age: 28, city: "Boston" })

Delete data

To delete data, you use the deleteOne or deleteMany methods.

  1. To delete a single document where the name is "Alice"

db.myCollection.deleteOne({ name: "Alice" })

     2. To delete multiple documents where the age is less than 30

db.myCollection.deleteMany({ age: { $lt: 30 } })

  • MongoDB is a flexible and scalable open-source document database management system. It allows for easy development and integration of large-scale applications.
  • Installing MongoDB on Ubuntu allows users to use the system's reliability, security, and extensive support resources. It's also simple to set up and widely used in the tech industry.
  • Installing MongoDB on Ubuntu involves using the terminal to update the package list, install MongoDB, and start the service. Once complete, the user can run the MongoDB shell and verify the installation.

People also read: 

MongoDB is a NoSQL database known for its flexibility, scalability, and ability to handle unstructured data.

It offers high scalability, flexible schemas, powerful indexing, and robust security, making it ideal for modern applications.

Yes, MongoDB can be easily installed and run on Windows systems.

Unlike traditional relational databases, MongoDB is document-oriented, which means it stores data in JSON-like formats.

Yes, MongoDB is open-source and free, though enterprise and cloud-hosted versions are available.

Absolutely! MongoDB is suitable for both small-scale projects and large-scale enterprise applications.

Susith Nonis

Susith Nonis

I'm fascinated by the IT world and how the 1's and 0's work. While I venture into the world of Technology, I try to share what I know in the simplest way with you. Not a fan of coffee, a travel addict, and a self-accredited 'master chef'.

user monovm

Chelsea Okuneva

2024, Jul, 24

This is a fantastic guide for anyone looking to get started with MongoDB on their Ubuntu system. The step-by-step instructions make it easy to follow, even for those who might not be seasoned tech experts. MongoDB's scalability and flexibility are real game-changers for handling unstructured data. Thanks for putting this together; it's going to be a great resource for many developers out there!

user monovm

Prof. Sunny Predovic V

2024, Aug, 24

This guide is incredibly comprehensive and exactly what I was looking for! MongoDB's flexibility and scalability are game changers, and having a straightforward, step-by-step installation process for Ubuntu is super helpful. Thanks for highlighting all the benefits like replication, indexing, and security. Can't wait to try this out and see the performance improvements in my projects!

user monovm

Misty Waelchi II

2024, Nov, 24

This guide is a fantastic resource for anyone looking to dive into the world of MongoDB on Ubuntu! It's clear and concise, making it simple to get started, even if you're new to databases. The benefits of MongoDB in terms of scalability, flexibility, and community support are perfectly highlighted here. Great job on breaking down the installation steps and showcasing why MongoDB could be a game-changer for your applications. Looking forward to trying it out myself!

user monovm

Laney Kessler

2024, Nov, 24

If you’ve been looking for a way to simplify and enhance your database management, this handy step-by-step guide shows you how to seamlessly install MongoDB on Ubuntu. Its flexibility and scalability make it a vital tool for modern developers. Plus, the guide breaks down the process into easy-to-follow steps, even if you’re not very tech-savvy. Give it a go and see how MongoDB can transform your data handling tasks. Perfect for anyone ready to dive into NoSQL databases!

user monovm

Mr. Jerald Prohaska

2024, Dec, 24

This guide is a fantastic resource for anyone looking to venture into the world of MongoDB! It breaks down the installation process on Ubuntu into simple, manageable steps, making it easy even for beginners. MongoDB’s flexibility and scalability are game-changers, especially for apps handling unstructured data. The walkthrough ensures you'll have it up and running in no time. Happy coding and enjoy the boost MongoDB brings to your projects!