«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Интеграция MongoDB с Node.js – полное руководство

Интеграция MongoDB с Node.js – полное руководство

Опубликовано 7 ноября 2024 г.
Просматривать:590

Integração do MongoDB com Node.js – Um Guia Completo

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


1. Что такое MongoDB?

MongoDB — это документально-ориентированная база данных NoSQL. Вместо хранения данных в таблицах, как в реляционных базах данных, MongoDB хранит документы в формате JSON, который называется BSON (Binary JSON). Это обеспечивает гибкость моделирования данных и облегчает горизонтальное масштабирование.

2. Зачем использовать MongoDB с Node.js?

  • Нативный JSON: Node.js использует JavaScript, а MongoDB хранит данные в формате JSON. Такое сочетание обеспечивает плавную и эффективную интеграцию.
  • Масштабируемость: MongoDB обладает высокой масштабируемостью и идеально подходит для современных приложений, которым необходимо быстро расти.
  • Производительность: Благодаря своей структуре документов MongoDB оптимизирована для быстрого чтения, записи и динамических запросов.
  • Сообщество: И MongoDB, и Node.js имеют активное сообщество, обеспечивающее обилие ресурсов и частые обновления.

3. Настройка MongoDB с помощью Node.js

Шаг 1. Установите MongoDB

Прежде всего вам необходимо установить MongoDB. В зависимости от вашей операционной системы следуйте инструкциям на официальном сайте установки MongoDB.

Шаг 2. Создайте проект Node.js.

Создайте новый каталог для своего проекта и запустите проект Node.js:

mkdir mongo-node-app
cd mongo-node-app
npm init -y
Шаг 3. Установите драйвер MongoDB.

Следующим шагом будет установка официального драйвера MongoDB для Node.js:

npm install mongodb
Шаг 4. Подключитесь к MongoDB.

Теперь создайте файл index.js для настройки подключения к MongoDB. Мы будем использовать MongoClient для подключения к базе данных.

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

async function connectDB() {
    const uri = "mongodb://localhost:27017"; // URL do MongoDB local
    const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });

    try {
        await client.connect();
        console.log("Conectado ao MongoDB");

        const db = client.db("mydatabase");
        return db;
    } catch (err) {
        console.error("Erro ao conectar ao MongoDB", err);
    } finally {
        // Fechar a conexão
        await client.close();
    }
}

connectDB();

4. Операции CRUD с MongoDB

1. Создать

Чтобы добавить документы в коллекцию, мы можем использовать метод InsertOne() или InsertMany().

async function createDocument(db) {
    const collection = db.collection("users");

    const newUser = {
        name: "Lucas",
        age: 25,
        email: "[email protected]"
    };

    const result = await collection.insertOne(newUser);
    console.log(`Documento inserido com o ID: ${result.insertedId}`);
}
2. Читать

Для поиска документов в коллекции мы используем find() или findOne().

async function readDocuments(db) {
    const collection = db.collection("users");

    const users = await collection.find({ age: { $gte: 18 } }).toArray();
    console.log(users);
}
3. Обновить

Чтобы обновить документ, мы используем updateOne() или updateMany().

async function updateDocument(db) {
    const collection = db.collection("users");

    const result = await collection.updateOne(
        { name: "Lucas" },
        { $set: { email: "[email protected]" } }
    );

    console.log(`Documentos atualizados: ${result.modifiedCount}`);
}
4. Удалить

Чтобы удалить документы, мы используем deleteOne() или deleteMany().

async function deleteDocument(db) {
    const collection = db.collection("users");

    const result = await collection.deleteOne({ name: "Lucas" });
    console.log(`Documentos deletados: ${result.deletedCount}`);
}

5. Улучшение структуры проекта

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

Пример модульного подключения
// db.js
const { MongoClient } = require('mongodb');

const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });

async function connectDB() {
    await client.connect();
    const db = client.db("mydatabase");
    return db;
}

module.exports = { connectDB };
Использование модуля подключения
// index.js
const { connectDB } = require('./db');

async function main() {
    const db = await connectDB();

    // Executar operações de CRUD
    await createDocument(db);
    await readDocuments(db);
    await updateDocument(db);
    await deleteDocument(db);
}

main();

6. Заключение

MongoDB и Node.js образуют мощную комбинацию для создания масштабируемых API и современных веб-приложений. Благодаря гибкости MongoDB и среде JavaScript Node.js вы можете быстро и эффективно манипулировать данными. Это руководство обеспечивает прочную основу для интеграции MongoDB в ваш проект Node.js, от начальной настройки до операций CRUD.

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


Последние советы:

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

Надеюсь, это руководство помогло вам интегрировать MongoDB с Node.js!

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/lucaspereiradesouzat/integracao-do-mongodb-com-nodejs-um-guia-completo-39mk?1. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3