MongoDB — одна из самых популярных баз данных NoSQL, широко используемая разработчиками для создания масштабируемых и гибких приложений. Вместе с Node.js, широко распространенной платформой для серверной разработки, вы можете создавать эффективные API и надежные приложения. В этом сообщении блога мы рассмотрим, как настроить MongoDB с помощью Node.js, от установки до выполнения основных операций CRUD (создание, чтение, обновление, удаление).
MongoDB — это документально-ориентированная база данных NoSQL. Вместо хранения данных в таблицах, как в реляционных базах данных, MongoDB хранит документы в формате JSON, который называется BSON (Binary JSON). Это обеспечивает гибкость моделирования данных и облегчает горизонтальное масштабирование.
Прежде всего вам необходимо установить MongoDB. В зависимости от вашей операционной системы следуйте инструкциям на официальном сайте установки MongoDB.
Создайте новый каталог для своего проекта и запустите проект Node.js:
mkdir mongo-node-app cd mongo-node-app npm init -y
Следующим шагом будет установка официального драйвера MongoDB для Node.js:
npm install 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();
Чтобы добавить документы в коллекцию, мы можем использовать метод 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}`); }
Для поиска документов в коллекции мы используем find() или findOne().
async function readDocuments(db) { const collection = db.collection("users"); const users = await collection.find({ age: { $gte: 18 } }).toArray(); console.log(users); }
Чтобы обновить документ, мы используем 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}`); }
Чтобы удалить документы, мы используем deleteOne() или deleteMany().
async function deleteDocument(db) { const collection = db.collection("users"); const result = await collection.deleteOne({ name: "Lucas" }); console.log(`Documentos deletados: ${result.deletedCount}`); }
Для крупномасштабного проекта лучше модульно организовать соединение 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();
MongoDB и Node.js образуют мощную комбинацию для создания масштабируемых API и современных веб-приложений. Благодаря гибкости MongoDB и среде JavaScript Node.js вы можете быстро и эффективно манипулировать данными. Это руководство обеспечивает прочную основу для интеграции MongoDB в ваш проект Node.js, от начальной настройки до операций CRUD.
Если вы хотите глубже погрузиться в эту тему, рассмотрите возможность изучения дополнительных функций, таких как индексирование, агрегирование и репликация в MongoDB.
Последние советы:
Надеюсь, это руководство помогло вам интегрировать MongoDB с Node.js!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3