The first step is to create a MongoDB database. Since this project is about collaborative development, we will be hosting the database on the cloud rather than locally
Creating a MongoDB Account
First, visit MongoDB's website to create a Cluster that will be hosted on the cloud.
MongoDB main page
Click on Start free and you will be redirected to the registration form.
MongoDB registration from
Once that is finished, you will be asked to enter your organization's and project's names (in this case I kept the default proposed names) and the preferred language (though this step is not required).
Setting up the MongoDB account
Once you finished signing up, you will be redirected to the cluster creation page. Choose Shared Clusters as your plan (unless you feel fancy then you can choose a paid plan).
Selecting the free plan
Creating a Cluster
In this step, you will choose a cloud provider (AWS, Google Cloud, or Azure) and the region depending on the provider, then click on the Create Cluster green button at the bottom right.
Creating a starter cluster
If everything went well, you will be redirected to your dashboard, and after a few minutes (~1-3min) your cluster should be ready.
Waiting for the cluster to be created
Cluster successfully created
Retrieving the Connection String
The last step is to retrieve the connection string (i.e. database URI) that you will use to connect the backend to the database. Click on the Connect button under the cluster's name.
Setting up the connection parameters
Click on Allow Access from Anywhere,this will allow anyone to connect to your database given the string. The 0.0.0.0/0 IP address will be added to the whitelist. Don't forget to click on Add Ip Address to save.
Successfully whitelisting all IP addresses
Next, you will need to create a user that has permission to connect to the database. For security reasons, it is always recommended to use the auto-generated password. Once you are done, click on Create Database User
Adding a database user
Then, click on Choose a connection method, and select Connect your application
Choosing a connection method
Select Node.js as the driver and 3.6 or later as the version.
Specifying the connection driver and copying the database link
In the grey box, a string under the following format will be located.
Where <username> is the database user's username (in this case it's mootez), <password> is the password for the newly created user, and <dbname> is the database name that we will create. You can copy the string and save it elsewhere and click on the Close button.
Creating a Database
For the final part, we will create a database in our cluster.
Click on your cluster's name and navigate to the Collections tab. Click on Add my Own Data and specify a name and a collection for your database (collections are analogous to tables in relational databases, so a database can have multiple collections), in this case, I chose smu as a DB name and users as a first collection.
Creating a new database
Database successfully created
Don't forget to replace <dbname> in the connection stringwith the database's name that you have chosen (it is smu in this case).
Conclusion
You have now successfully created a MongoDB database. In the following section, we will show how to connect the backend code to communicate with the database.