Інтеграція MongoDB з Node.js PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Інтеграція MongoDB з Node.js

Надійна сучасна програма має середовище для зберігання даних у своїй системі, як-от програма Node, яка може працювати як з нереляційними (такими як PostgresQL, MongoDB), так і з реляційними (такими як MySQL, Oracle).

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

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

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

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

MongoDB — це найпопулярніша та найдосконаліша база даних на основі документів, де всі дані зберігаються у двійковому форматі JSON (об’єктна нотація JavaScript), відомому як BSON. BSON - це a документ, без попередньо визначеної схеми даних. Це дозволяє зберігати дані, до яких програма часто звертається разом, в одному місці, і робить читання бази даних легким і швидким.

На відміну від реляційних таблиць, колекції є самодостатніми, що значно полегшує роботу з ними. Коли новий документ створюється в колекції MongoDB, йому призначається ідентифікатор, щоб зробити його унікальним для цієї колекції, а всередині документа можна визначити кілька полів; де значення може бути варіантом типів даних, починаючи від масивів, рядків, цілих чисел, об’єктів тощо.

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

Початок роботи з MongoDB

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

Після створення облікового запису натисніть кнопку Build a Database і натисніть, щоб створити базу даних:

Інтеграція MongoDB з Node.js PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Далі створіть спільний кластер (він назавжди безкоштовний!) і дайте йому назву на свій вибір.

Спільний кластер ідеально підходить для експериментів у обмеженій пісочниці. Ви можете будь-коли перейти на виробничий кластер.

Інтеграція MongoDB з Node.js PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Коли ви успішно створили кластер, натисніть Connect кнопка підключення до кластера:

Інтеграція MongoDB з Node.js PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

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

Інтеграція MongoDB з Node.js PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Потім вам буде запропоновано вибрати спосіб підключення. Тут обов’язково виберіть Node.js як драйвер і виберіть відповідну версію (під час написання цієї статті я використовую 4.1 або новішу).

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

Інтеграція MongoDB з Node.js PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

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

Створення програми Node

У бажаному каталозі для цього проекту створіть нову папку:

$ mkdir integrating-mongodb-node

Тоді біжіть npm init у терміналі, щоб ініціалізувати програму Node за допомогою a 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.

У каталозі, який ми щойно створили для проекту, створіть a 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}`);
});

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

Тепер ми повинні перезапустити сервер:

$ node server.js

І отримати успішне повідомлення, яке інформує нас про те, що тепер встановлено безпечне з’єднання між базою даних MongoDB і програмою Node:

Server started at port 8000
Connected to MongoDB

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

Інтеграція MongoDB з Node.js PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Гаразд, люди, це все! Ми успішно інтегрували базу даних MongoDB у додаток Node.js.

Висновок

У цій статті ми дізналися, як створити безпечне з’єднання між програмою Node.js і базою даних MongoDB. Тепер ви можете легко зробити те саме, коли вам потрібно створити програму за допомогою MongoDB; дуже популярна нереляційна база даних в екосистемі.

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

Якщо ви застрягли під час виконання підручника, не соромтеся мислити через GitHub репо для проекту щоб знайти свій шлях.

Додаткові ресурси

Часова мітка:

Більше від Stackabuse