Как подключиться к MongoDB с помощью Node.js

MongoDB  —  платформа для коллекций баз данных, хранящих предопределенные данные со схемами, доступ к которым можно получить с помощью языков программирования. Посмотрим, как подключиться к базе данных с помощью Node.js.

Если у вас нет учетной записи MongoDB, обязательно создайте ее (это необходимо для администрирования баз данных).


Создание организации

Итак, мы сосредоточимся на тех услугах, которые предлагает MongoDB. С этого момента будем работать здесь  —  на облачной странице платформы.

Прежде всего создадим организацию для хранения всех кластеров в одном месте под одним именем. Организация на MongoDB  —  это нечто вроде отдела, где вы работаете со своей командой и храните все проекты, необходимые для достижения цели.

На главной странице облака можно создать свою организацию и позже пригласить членов команды. Далее введите название организации и выберите MongoDB Atlas.


Создание проекта

Сайт предложит создать проект и заполнить информацию о нем. После этого можно создать первую базу данных, нажав на кнопку кнопку Build a Database.


Создание кластера

На этом шаге нужно определить способ развертывания базы данных. Например, serverless (бессерверный, $0,10/1млн прочтений), dedicated (специальный, $0,80/час) или shared (общий, бесплатный) кластер. Здесь будет использоваться последний.

Далее нужно выбрать облачного провайдера, например AWS, Google Cloud или Azure.

Затем определите примерное местоположение, где вам было бы предпочтительней запустить сервер с базой данных. Просмотрите эти два параметра и измените их при необходимости (но предопределенных параметров должно быть достаточно).

Наконец, выберите имя для кластера.

На этом последнем шаге вы создадите учетные данные для авторизации, с помощью которых можно будет работать с базой данных (имя и пароль).

Затем укажите IP-адреса, которым нужно предоставить доступ для работы с БД. Если хотите разрешить доступ к модификации из любого места, введите IP-адрес 0.0.0.0.


Инициализация проекта Node.js

Запускаем репозиторий проекта привычным способом  —  с помощью команды npm init, а затем переходим к заполнению информации о проекте. Нужно установить 2 пакета NPM: mongoose и dotenv.

Пакет mongoose упрощает получение доступа к базам данных MongoDB, а пакет dotenv помогает хранить конфиденциальные данные бэкенда, которые не должны быть видны пользователям фронтенда.


Подключение к базе данных

После создания проекта Node.js со всеми необходимыми элементами можно подключать к нему приложение. На странице развертывания нажмите кнопку Connect на кластере, который мы создали.

Теперь выберите опцию Connect your application. Версию Node.js можно ввести в верхней части модального окна (как и в том случае, если вы подключаетесь на другом языке программирования). Появится строка соединения, с помощью которой можно подключиться через приложение.

Прежде чем вставить строку в приложение, нужно заменить учетные данные для входа теми, что были заданы ранее. Формат учетных данных  —  username:password.

Теперь можно вставить строку соединения в файл .env с подходящим по значению ключом входа:

MONGODB=mongodb+srv://admin:admin@cluster0.bn1ofkw.mongodb.net/?retryWrites=true&w=majority

Теперь импортируем 2 пакета NPM и извлекаем переменную MONGODB из файла .env в основном файле JavaScript:

const mongoose = require(’mongoose’);
require(’dotenv’).config();

const { MONGODB } = process.env;

Когда все необходимые пакеты и переменные импортированы, установите соединение в основном файле JavaScript:

mongoose.connect(
MONGODB,
{ useNewUrlParser: true, useUnifiedTopology: true },
() => console.log(’Successfully connected to database.’)
);

После того, как соединение будет установлено, в консоли появится сообщение об успешном подключении.

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен


Перевод статьи Oskar Petr: How to Establish a Connection to MongoDB with Node.js

Предыдущая статьяКак создать бессерверную форму для бессерверного сайта 
Следующая статьяКак за месяц создать систему учета посещаемости на базе распознавания лиц