Archives

This is part III of the tutorial, and covers how to setup a MongoDB NoSQL database.

MongoDB & Mongoose

MongoDB is a cross-platform document-oriented database, also known as a NoSQL database, This is different compared to a traditional table-based relational database like MySQL. Instead, the structure are JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster. MongoDB is developed by MongoDB Inc. and is published as free and open-source software under a combination of the GNU Affero General Public License and the Apache License.

Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. It provides a model layer for interacting with your MongoDB collections from Node. This model layer provides a common location for implementing document validation, persistence indirection, and other logic that should be abstracted from the business layer.

Let’s integrate this with our Node back-end. Make sure you have MongoDB installed on your machine.

Let’s create a couple more routes, to create a CRUD application. We need a route for creating new users (POST), a route to read one user (GET), a route to update one user (PUT) and a route to remove (DELETE) a particular user.

We will also need a register and authenticate route, which you will need to check if the username and password are correct. If so, it will return a JWT key, which you can store on your (mobile) client app.

I’ve created another JS file (server/config/local_settings.js), which contains all sensitive information, such as passwords, secrets and keys. Now that this is a separate file, I don’t need to check in this file into my versioning system.

Choose the method: POST
With the url: http://127.0.0.1:9000/register
Select the body tab, and create 2 x-www-form-urlencoded fields: username & password, also specify the values that belong to these fields.

See screenshot:

Incase you want to test if all the values were correctly added to the database, you can run MongoDB from the command-line: