MongoDB is a general purpose, document-based, distributed data platform built for modern application developers and for the cloud.
MongoDB is classified as a NoSQL database. It uses JSON-like documents with optional schemas.
This tutorial shows you how to install MongoDB on a Mac via Homebrew.
Installation Options
You can use MongoDB as a cloud deployment, or as an on-premise installation. In this tutorial, we install it as an on-premise installation.
When you install it on-premise, you have a choice of installing the Enterprise Server or the free Community Server. In this tutorial, we install the free Community Server.
There are a couple of ways to install MongoDB on a Mac.
- Option 1: Install it via Homebrew (recommended).
- Option 2: Install it manually with the installation files.
In this tutorial, we use install it using option 2 (via Homebrew).
Installing MongoDB via Homebrew is recommended, because it automatically installs all needed dependencies, provides an example mongod.conf
file to get you started, and simplifies future upgrade and maintenance tasks.
Prerequisites
Because we’re installing MongoDB via Homebrew, this requires that we have Homebrew installed on our Mac.
If you’re not sure whether you have Homebrew installed, open a Terminal window and enter the following:
brew help
If you’ve got Homebrew installed, this will return a bunch of Homebrew related information. If not, you probably need to install Homebrew.
To install Homebrew, run the command listed on the Homebrew homepage.
Be sure to read the installation requirements first. In particular, you’ll need Xcode to be installed on your Mac before you install Homebrew.
Install MongoDB
OK, now that we’ve got Homebrew installed, we can go ahead and use it to install MongoDB.
Run the following command into a Terminal window:
brew tap mongodb/brew
That downloads the official Homebrew formulae for MongoDB and the Database Tools.
Run the following:
brew tap | grep mongodb
That simply checks that your system meets all the installation prerequisites. If it does, the brew tap (mongodb/brew
) will be listed.
If it doesn’t make sure your system meets the requirements listed at the link given above.
Run the following:
brew install [email protected]
That’s the part that actually installs MongoDB. In this case we’re installing version 4.4. Feel free to change that part to match the actual version that you’re installing.
You can check the MongoDB website for the latest releases. You can modify the above code to reflect the latest release.
You can also run multiple versions side by side if you like.
Run MongoDB
Now that MongoDB is installed, you will need to start it up.
When you run MongoDB, you run the mongod process. mongod is the primary daemon process for the MongoDB system.
There are a couple of ways to run MongoDB (i.e. the mongodb process):
- Option 1: Run it as a MacOS service
- Option 2: Run it manually as a background process
Option 1
To run it as a MacOS service, enter the following command:
brew services start [email protected]
You can stop it like this:
brew services stop [email protected]
Option 2
To run it as manually as a background process, enter the following command:
mongod --config /usr/local/etc/mongod.conf --fork
To stop a mongod running as a background process, connect to the mongod from the mongo shell, and issue the shutdown command.
Verify that MongoDB is Running
You can check that MongoDB is running by issuing one of the following commands, depending on whether it’s running as a MacOS service or a background process.
If you started MongoDB as a MacOS service:
brew services list
You should see the service mongodb-community
listed as started
.
If you started MongoDB as a background process:
ps aux | grep -v grep | grep mongod
You should see your mongod
process in the output.
Connect to MongoDB
Now that MongoDB is up and running, we can connect to it and start using it.
From a new Terminal window, enter the following:
mongo
That connects a mongo shell to the running MongoDB instance.
That should display a bunch of text, and at the end, you should see the following prompt:
>
This means that it’s ready to accept your commands.
Enter a Command
Once connected, you can enter as many commands as you need.
For starters, enter the following command to display a list of databases:
show dbs
That should result in the following databases being displayed:
admin 0.000GB config 0.000GB local 0.000GB