Creating a CRUD with NodeJS and MongoDB: MongoDB Installation

Capítulo 86

Estimated reading time: 4 minutes

+ Exercise
Audio Icon

Listen in audio

0:00 / 0:00

Before we proceed with creating a CRUD (Create, Read, Update, Delete) with NodeJS and MongoDB, it is essential to understand what MongoDB is. MongoDB is a document-oriented NoSQL database. This means that instead of tables and rows as in relational databases, MongoDB is built around the concept of collections and documents.

To begin with, we need to install MongoDB on our system. Installation may vary depending on the operating system you are using. For this guide, we will assume that you are using a Unix-based operating system such as Ubuntu.

First, we need to update our system's package index with the following command:
sudo apt-get update

Next, we can install MongoDB with:
sudo apt-get install -y mongodb

Once the installation is complete, you can start MongoDB with:
sudo service mongodb start

Continue in our app.
  • Listen to the audio with the screen off.
  • Earn a certificate upon completion.
  • Over 5000 courses for you to explore!
Or continue reading below...
Download App

Download the app

To verify that the installation was successful, you can run:
sudo service mongodb status

Now that we have MongoDB installed, we can start creating our CRUD with NodeJS. First, we need to install NodeJS on our system. You can do this with the following command:
sudo apt-get install -y nodejs

After installing NodeJS, we need to install NPM (Node Package Manager), which is a package manager for NodeJS. You can do this with the following command:
sudo apt-get install -y npm

Now that we have NodeJS and NPM installed, we can start creating our project. First, let's create a new directory for our project and navigate to it with:
mkdir my-api && cd my-api

Next, let's initialize a new NodeJS project with:
npm init -y

This will create a new package.json file in our directory, which will contain our project information and its dependencies.

To interact with MongoDB, we need to install a NodeJS driver for MongoDB. The most popular is Mongoose, which we can install with:
npm install mongoose

Now we are ready to start writing our CRUD. First, let's create a new file called app.js in our directory with:
touch app.js

Next, let's open this file in our preferred text editor and start writing our code. First, we need to import Mongoose with:
const mongoose = require('mongoose');

Next, we need to connect Mongoose to our MongoDB database with:
mongoose.connect('mongodb://localhost/my_database', {useNewUrlParser: true, useUnifiedTopology: true});

Now we are ready to define our database schema and create our CRUD functions. A schema in Mongoose is a structure that defines the shape of documents within a collection. We can define a schema with:
const UserSchema = new mongoose.Schema({ name: String, email: String, password: String });

We can then create a model from this schema with:
const User = mongoose.model('User', UserSchema);

Now we can create our CRUD functions. For example, to create a new user, we can do:
const user = new User({ name: 'John', email: 'john@example.com', password: 'secret' }); user.save();

To read a user, we can do:
User.findById('user_id');

To update a user, we can do:
User.findByIdAndUpdate('user_id', { name: 'Jane' });

And to delete a user, we can do:
User.findByIdAndDelete('user_id');

With this, you should have a basic understanding of how to create a CRUD with NodeJS and MongoDB. Keep in mind that this is just a basic example and you can expand on this to suit your specific needs.

Now answer the exercise about the content:

What is MongoDB and how is it structured?

You are right! Congratulations, now go to the next page

You missed! Try again.

MongoDB is a document-oriented NoSQL database. Unlike traditional relational databases that use tables and rows, MongoDB is structured around collections and documents. This allows for more flexible data modeling and scalability. The text clearly states this, highlighting the difference between the two types of databases.

Next chapter

Creating a CRUD with NodeJS and MongoDB: Development Environment Setup

Arrow Right Icon
Free Ebook cover How to create APIs in NodeJS from basic to advanced
58%

How to create APIs in NodeJS from basic to advanced

5

(1)

149 pages

Download the app to earn free Certification and listen to the courses in the background, even with the screen off.