
Что такое MongoDB?
MongoDB — это популярная NoSQL база данных, в которой данные хранятся в виде документов (структур, похожих на JSON) внутри коллекций. В отличие от реляционных баз данных (таких как MySQL), MongoDB не требует фиксированной схемы, что делает её гибкой и удобной для быстрого прототипирования и масштабируемых проектов.
- База данных (Database) — контейнер, который содержит коллекции.
- Коллекция (Collection) — аналог таблицы, но без строгой схемы. Хранит документы.
- Документ (Document) — основная единица хранения данных, представляет собой объект в формате JSON (или BSON в MongoDB).
{
"name": "Iryna",
"age": 29,
"email": "iryna@example.com"
}
Основные команды MongoDB
1. Создание базы данных:
use myDatabase
Если базы ещё нет — она будет создана автоматически после добавления данных.
2. Создание коллекции:
db.createCollection("users")

Обычно коллекция создается автоматически при вставке первого документа:
db.users.insert({
name: "John",
age: 25,
})

3. Добавление документов:
Один документ:
db.users.insertOne({ name: "Alice", age: 28, email: "alice@mail.com" })

Несколько документов:
db.users.insertMany([
{ name: "Bob", age: 22 },
{ name: "Emma", age: 35 }
])

4. Поиск документов
Найти все документы:
db.users.find()

Форматированный вывод:
db.users.find().pretty()

Поиск с условием:
db.users.find({ age: { $gt: 25 } }) // Возраст больше 25
db.users.find({ name: "Alice" }) // Имя равно Alice

5. Удаление:
Удалить один документ:
db.users.deleteOne({ name: "Bob" })

Удалить все документы, соответствующие условию:
db.users.deleteMany({ age: { $lt: 30 } }) // Младше 30

6. Обновление:
Обновить одно поле:
db.users.updateOne(
{ name: "Emma" },
{ $set: { age: 29 } }
)


Добавление нового поля:
db.users.updateOne(
{ name: "Emma" },
{ $set: { city: "Tallinn" } }
)

7. Сортировка и ограничения:
db.users.find().sort({ age: 1 }) // Сортировка по возрасту по возрастанию
db.users.find().limit(2) // Первые 2 записи

Подключение базы данных MongoDB Cloud через Node.js
Создаем новый проект в WebStorm и выбираем Node.js:

В терминале прописываем команды:
// создаёт package.json файл с настройками по умолчанию для Node.js, y означает “yes to all”
npm init -y
// устанавливает официальную библиотеку MongoDB для Node.js
npm i mongodb / npm install mongodb


Открываем package.json и проверяем установился ли mongodb:

Создаем аккаунт или заходим в MongoDB Cloud и вводим username и password:

IP адрес вводим 0.0.0.0/0:

Тип подключения –> Drivers

Копируем ссылку для подключения базы данных к Node.js:

Создаем файл indexjs.js, в MongoClient вставляем ссылку и <db_password> меняем и вписываем свой созданный пароль, создаём коллекцию и добавить в неё пользователей.
const { MongoClient } = require('mongodb');
const client = new MongoClient('mongodb+srv://kotiukir:111111111@cluster0.ivcs9hj.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0')
const start = async () => {
try {
await client.connect();
console.log('Работает')
await client.db().createCollection('users')
const users = client.db().collection('users');
await users.insertOne({name: 'Iryna', age: 29})
const user = await users.findOne({name: 'Iryna'})
console.log(user)
} catch (e) {
console.log(e)
}
}
start()

Проверяем через графическую оболочку в MongoDB Cloud:
