Интеграция MongoDB с Node.js PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Интеграция MongoDB с Node.js

Современное надежное приложение имеет средство хранения данных на своем сервере, такое как приложение Node, которое может работать как с нереляционными (например, PostgresQL, MongoDB), так и с реляционными (например, MySQL, Oracle).

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

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

Примечание: Чтобы продолжить, вам нужно будет установить Node.js. Вы можете загрузить самую длинную стабильную версию (LTS) и установить ее на свой локальный компьютер с ее Официальная страница загрузки.

Краткая информация о MongoDB

MongoDB — это самая популярная и самая совершенная база данных на основе документов, в которой все данные хранятся в двоичном формате JSON (нотация объектов JavaScript), известном как BSON. БСОН - это документ, без необходимости использования предопределенной схемы данных. Это позволяет хранить данные, к которым приложение часто обращается вместе, в одном месте, а также упрощает и ускоряет чтение базы данных.

В отличие от реляционных таблиц коллекции являются автономными, что значительно упрощает работу с ними. Когда новый документ создается в коллекции MongoDB, ему присваивается идентификатор, чтобы сделать его уникальным для этой коллекции, а внутри документа можно определить несколько полей; где значение может быть вариантом типов данных: массивами, строками, целыми числами, объектами и т. д.

Для управления данными API запросов полезен для выполнения основных операций создания, чтения, обновления и удаления (CRUD) в базе данных. Вторичные индексы также могут быть созданы для обеспечения оптимизации и чрезвычайно быстрого выполнения общих запросов. Также поддерживаются геопространственные запросы, которые позволяют находить документы в определенном географическом месте.

Начало работы с MongoDB

Прежде чем мы начнем подключаться к MongoDB из приложения Node, зайдите на официальный сайт MongoDB и зарегистрируйтесь. Try Free кнопка (если у вас еще нет учетной записи):

После создания учетной записи нажмите кнопку Build a Database кнопку и нажмите, чтобы создать базу данных:

Интеграция MongoDB с Node.js PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Затем создайте общий кластер (он бесплатен навсегда!) и дайте ему имя по вашему выбору.

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

Интеграция MongoDB с Node.js PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

После успешного создания кластера нажмите кнопку Connect кнопка для подключения к Кластеру:

Интеграция MongoDB с Node.js PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Теперь вам показаны четыре различных способа подключения к MongoDB, но поскольку мы хотим подключиться к приложению Node, давайте выберем Connect your application опции:

Интеграция MongoDB с Node.js PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Затем вам будет предложено выбрать метод подключения. Здесь обязательно выберите Node.js в качестве драйвера и выберите соответствующую версию (при написании этой статьи я использую 4.1 или более позднюю версию).

Нам также показана строка подключения, которая полезна для подключения нашего кластера MongoDB к приложению Node:

Интеграция MongoDB с Node.js PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Теперь нам нужно создать приложение Node.js для подключения к базе данных MongoDB.

Создание приложения Node

В предпочитаемом вами каталоге для этого проекта создайте новую папку:

$ mkdir integrating-mongodb-node

Затем запустите npm init в терминале, чтобы инициализировать приложение Node с помощью package.json файл, который позволяет нам отслеживать зависимости приложения:

$ npm init

package name: (codes) integrating-mongodb-node
version: (1.0.0)
description: learning how to connect mongodb to a node app
entry point: (server.js)
test command:
git repository:
keywords:
author:
Is this OK? (yes) yes

Ознакомьтесь с нашим практическим руководством по изучению Git с рекомендациями, принятыми в отрасли стандартами и прилагаемой памяткой. Перестаньте гуглить команды Git и на самом деле изучить это!

Теперь, когда мы успешно инициализировали package.json, давайте установим два пакета, которые помогут при создании нашего сервера. Первый — Express.js, веб-фреймворк для быстрой и простой разработки приложений Node:

$ yarn add express -D

Второй пакет, который мы установим, — это пакет Mongoose, который поможет нам построить соответствующую схему для нашей базы данных в приложении Node:

$ yarn add mongoose -D

Теперь, когда необходимые зависимости для разработки успешно установлены, мы можем написать код для подключения нашей базы данных MongoDB к нашему приложению Node.

В каталоге, который мы только что создали для проекта, создайте server.js файл

$ touch server.js

Далее мы определяем базовую настройку приложения Node в server.js, создав простой экспресс-сервер.



const express = require("express");
const mongoose = require("mongoose");
const app = express();

const port = 8000;

app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

Мы можем убедиться, что наш сервер работает должным образом, выполнив следующий код в терминале.

$ node server.js

Что должно привести к:

Server started at port 8000

Теперь вы можете вернуться на панель управления MongoDB, чтобы скопировать URI (унифицированный идентификатор ресурса), чтобы подключить приложение Node к базе данных.

I server.js создайте переменную для хранения универсального идентификатора ресурса и замените URI с паролем вашей учетной записи MongoDB.



const express = require("express");
const mongoose = require("mongoose");
const app = express();

const uri =
  "mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";

const port = 8000;

app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

Затем мы создаем асинхронную функцию, которая позволит нам подключиться к MongoDB, поскольку мы не знаем, сколько времени может потребоваться для завершения функции, прежде чем мы подключимся к базе данных:

const express = require("express");
const mongoose = require("mongoose");
const app = express();

const uri =
  "mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";
async function connect() {
  try {
    await mongoose.connect(uri);
    console.log("Connected to MongoDB");
  } catch (error) {
    console.log(error);
  }
}
connect();

const port = 8000;
app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

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

Теперь нам следует перезапустить сервер:

$ node server.js

И получим сообщение об успешном завершении, информирующее нас о том, что между базой данных MongoDB и приложением Node установлено безопасное соединение:

Server started at port 8000
Connected to MongoDB

На этом этапе, когда вы вернетесь на панель мониторинга кластера проектов, вы увидите информацию, показывающую, что недавно было подключение к базе данных:

Интеграция MongoDB с Node.js PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Хорошо, ребята, вот и все! Мы успешно интегрировали базу данных MongoDB в приложение Node.js.

Заключение

В этой статье мы узнали, как создать безопасное соединение между приложением Node.js и базой данных MongoDB. Теперь вы можете легко сделать то же самое, когда вам нужно создать приложение с использованием MongoDB; очень популярная нереляционная база данных в экосистеме.

Не забывайте, что Документация MongoDB ваш лучший друг в изучении MongoDB, а чтобы узнать больше о создании приложений Express, обратитесь к Экспресс-документация тоже.

Если вы застряли во время выполнения руководства, не стесняйтесь обдумать Репозиторий проекта на GitHub чтобы найти свой путь.

Дополнительные ресурсы

Отметка времени:

Больше от Стекабьюс