Node.js - MongoDB Getting Started

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

Node.js - MongoDB Get Started

Что такое MongoDB?

Прежде чем мы начнем программировать, давайте поймем, что такое MongoDB. Представьте, что вы организовываете свою коллекцию комиксов. У вас могут быть разные коробки для Marvel, DC и независимых комиксов. MongoDB - это как гигантский цифровой организатор комиксов для ваших данных. Это NoSQL база данных, что означает, что она гибкая и может обрабатывать всевозможные данные, не требуя строгой структуры.

Установка

Шаг 1: Установите Node.js

Для начала нам нужно установить Node.js. Это как подготовка вашей рабочей станции перед началом проекта.

  1. Перейдите на официальный сайт Node.js (https://nodejs.org/).
  2. Скачайте версию, подходящую для вашей операционной системы.
  3. Следуйте мастеру установки.

Чтобы проверить, правильно ли установлен Node.js, откройте ваш терминал или командную строку и введите:

node --version

Если вы видите номер версии, то все в порядке!

Шаг 2: Установите MongoDB

Теперь установим MongoDB - наш цифровой организатор комиксов.

  1. Перейдите на страницу загрузки MongoDB (https://www.mongodb.com/try/download/community).
  2. Выберите вашу операционную систему и скачайте установщик.
  3. Запустите установщик и следуйте подсказкам.

После установки вам, возможно, нужно будет добавить MongoDB в PATH вашей системы. Не волнуйтесь, это не так уж и страшно. Это как сказать вашему компьютеру, где искать MongoDB, когда вы хотите им пользоваться.

Драйвер MongoDB

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

Установка драйвера MongoDB

Откройте ваш терминал, перейдите в вашу проектную папку и выполните:

npm init -y
npm install mongodb

Первая команда настраивает ваш проект, а вторая устанавливает драйвер MongoDB. Это как распаковать ваш ящик с инструментами и убедиться, что у вас есть все необходимые инструменты.

Подключение к MongoDB

Теперь, когда у нас есть все необходимое, наступает волнующий момент - подключение к базе данных! Давайте напишем код, чтобы это произошло.

Создайте новый файл под названием app.js в вашей проектной папке и добавьте следующий код:

const { MongoClient } = require('mongodb');

// URL подключения
const url = 'mongodb://localhost:27017';

// Имя базы данных
const dbName = 'myProject';

// Создаем новый MongoClient
const client = new MongoClient(url);

// Используем метод connect для подключения к серверу
async function connect() {
try {
await client.connect();
console.log("Successfully connected to server");

const db = client.db(dbName);

// Выполняем операции с базой данных здесь

} catch (err) {
console.error("Error connecting to the database", err);
} finally {
await client.close();
}
}

connect();

Давайте разберем это:

  1. Мы импортируем MongoClient из драйвера MongoDB.
  2. Мы указываем URL, где наш MongoDB сервер работает. localhost:27017 - это默认ный адрес для локальной установки.
  3. Мы даем нашей базе данных имя, myProject.
  4. Мы создаем новый MongoClient с нашим URL.
  5. Мы определяем асинхронную функцию connect(). Асинхронные функции - это как терпеливые друзья, которые ждут, пока задача будет выполнена, прежде чем продолжить.
  6. Внутри connect(), мы используем try/catch/finally для优雅ного handling ошибок.
  7. Мы используем await client.connect() для подключения к серверу. Ключевое слово await - это как saying, "Подожди, давай дождемся, пока это закончится, перед тем как продолжить."
  8. Если подключение прошло успешно, мы логируем сообщение и получаем ссылку на нашу базу данных.
  9. Наконец, мы закрываем подключение в блоке finally.

Чтобы запустить этот код, сохраните файл и введите node app.js в вашем терминале. Если все настроено правильно, вы должны увидеть сообщение "Successfully connected to server" в вашей консоли.

Поздравляю! Вы только что установили первое подключение к MongoDB с помощью Node.js. Это как сделать первый телефонный звонок - волнующе, правда?

Выполнение операций с базой данных

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

Обновите ваш файл app.js:

// ... (предыдущий код остается тем же)

async function connect() {
try {
await client.connect();
console.log("Successfully connected to server");

const db = client.db(dbName);
const collection = db.collection('superheroes');

// Вставляем документ
const result = await collection.insertOne({
name: 'Spider-Man',
realName: 'Peter Parker',
powers: ['web-slinging', 'spider-sense', 'superhuman strength']
});

console.log(`Inserted document with _id: ${result.insertedId}`);

} catch (err) {
console.error("Error performing database operation", err);
} finally {
await client.close();
}
}

connect();

Вот что нового:

  1. Мы создаем ссылку на коллекцию под названием 'superheroes'.
  2. Мы используем insertOne() для добавления нового документа в нашу коллекцию.
  3. Мы логируем _id вставленного документа.

Запустите скрипт снова, используя node app.js. Вы должны увидеть сообщение, подтверждающее, что документ был вставлен, вместе с его _id.

Получение данных

Давайте добавим еще одну операцию для получения документа, который мы только что inserted:

// ... (предыдущий код остается тем же)

async function connect() {
try {
await client.connect();
console.log("Successfully connected to server");

const db = client.db(dbName);
const collection = db.collection('superheroes');

// Вставляем документ
const insertResult = await collection.insertOne({
name: 'Spider-Man',
realName: 'Peter Parker',
powers: ['web-slinging', 'spider-sense', 'superhuman strength']
});

console.log(`Inserted document with _id: ${insertResult.insertedId}`);

// Находим inserted документ
const findResult = await collection.findOne({ name: 'Spider-Man' });
console.log("Found document:", findResult);

} catch (err) {
console.error("Error performing database operation", err);
} finally {
await client.close();
}
}

connect();

Теперь мы используем findOne() для поиска документа, который мы только что inserted. Это как ask our database, "Hey, can you find Spider-Man for me?"

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

Заключение

Поздравляю! Вы только что сделали свои первые шаги в мир Node.js и MongoDB. Мы рассмотрели установку, подключение и базовые операции. Помните, что обучение работе с базами данных - это как обучение новому superpower - это требует практики, но вскоре вы будете manipulate данные как профи!

Вот быстрый обзор методов, которые мы использовали:

Method Описание
MongoClient.connect() Подключается к MongoDB серверу
client.db() Получает ссылку на базу данных
db.collection() Получает ссылку на коллекцию
collection.insertOne() Вставляет один документ в коллекцию
collection.findOne() Найдет один документ в коллекции

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

Credits: Image by storyset