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

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


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

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

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

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


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

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


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

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

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

Telegram-канал по теме
NOP::Nuances of ProgrammingСтатьи и переводы для разработчиков — каждый день
Подписаться

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

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

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

Затем укажите 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.’)
);

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

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


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

Мы в Telegram — подписывайтесь
NOP::Nuances of ProgrammingСтатьи и переводы для разработчиков — каждый день
Подписаться
NOP::HumorИТ-юмор и мемы о боли разработчиков
Подписаться
NOP::Recruiter RemoteУдалённые ИТ-вакансии с вилками
Подписаться
Предыдущая статьяКак создать бессерверную форму для бессерверного сайта 
Следующая статьяКак за месяц создать систему учета посещаемости на базе распознавания лиц