Node.js - MongoDB Getting Started
Здравствуйте, будущие маги баз данных! Сегодня мы отправляемся в увлекательное путешествие в мир Node.js и MongoDB. Как ваш доброжелательный соседский компьютерный учитель, я здесь, чтобы провести вас через это приключение, шаг за шагом. Не волнуйтесь, если вы новички в программировании - мы начнем с самых азов и будем подниматься. Тогда наденьте свои виртуальные каски и погружайтесь с нами!
Что такое MongoDB?
Прежде чем мы начнем программировать, давайте поймем, что такое MongoDB. Представьте, что вы организовываете свою коллекцию комиксов. У вас могут быть разные коробки для Marvel, DC и независимых комиксов. MongoDB - это как гигантский цифровой организатор комиксов для ваших данных. Это NoSQL база данных, что означает, что она гибкая и может обрабатывать всевозможные данные, не требуя строгой структуры.
Установка
Шаг 1: Установите Node.js
Для начала нам нужно установить Node.js. Это как подготовка вашей рабочей станции перед началом проекта.
- Перейдите на официальный сайт Node.js (https://nodejs.org/).
- Скачайте версию, подходящую для вашей операционной системы.
- Следуйте мастеру установки.
Чтобы проверить, правильно ли установлен Node.js, откройте ваш терминал или командную строку и введите:
node --version
Если вы видите номер версии, то все в порядке!
Шаг 2: Установите MongoDB
Теперь установим MongoDB - наш цифровой организатор комиксов.
- Перейдите на страницу загрузки MongoDB (https://www.mongodb.com/try/download/community).
- Выберите вашу операционную систему и скачайте установщик.
- Запустите установщик и следуйте подсказкам.
После установки вам, возможно, нужно будет добавить 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();
Давайте разберем это:
- Мы импортируем
MongoClient
из драйвера MongoDB. - Мы указываем URL, где наш MongoDB сервер работает.
localhost:27017
- это默认ный адрес для локальной установки. - Мы даем нашей базе данных имя,
myProject
. - Мы создаем новый
MongoClient
с нашим URL. - Мы определяем асинхронную функцию
connect()
. Асинхронные функции - это как терпеливые друзья, которые ждут, пока задача будет выполнена, прежде чем продолжить. - Внутри
connect()
, мы используемtry/catch/finally
для优雅ного handling ошибок. - Мы используем
await client.connect()
для подключения к серверу. Ключевое словоawait
- это как saying, "Подожди, давай дождемся, пока это закончится, перед тем как продолжить." - Если подключение прошло успешно, мы логируем сообщение и получаем ссылку на нашу базу данных.
- Наконец, мы закрываем подключение в блоке
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();
Вот что нового:
- Мы создаем ссылку на коллекцию под названием 'superheroes'.
- Мы используем
insertOne()
для добавления нового документа в нашу коллекцию. - Мы логируем
_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