Подключение Node.js к MongoDB
Настройте MongoDB, подключите к ней приложение Node.js и разберитесь в основных понятиях баз данных.
«Подключение Node.js к MongoDB» — бесплатный урок Node.js Backend Development Bootcamp на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Node.js Backend Development Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Node.js Backend Development Bootcamp содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Welcome to MongoDB
In this lesson, we'll dive into MongoDB, a popular NoSQL database, and learn how to connect your Node.js applications to it.
Databases are essential for storing and organizing data in almost any modern application. Let's get started!
NoSQL vs. SQL Databases
Before MongoDB, let's understand its place:
- SQL Databases (Relational): Use tables with fixed schemas, like PostgreSQL or MySQL. Data is structured in rows and columns.
- NoSQL Databases (Non-Relational): Offer more flexible data models. MongoDB is a document database, meaning it stores data in flexible, JSON-like documents.
NoSQL databases are often chosen for their scalability and flexibility.
MongoDB: Documents & Collections
MongoDB's core concepts are simple:
- Documents: These are the basic units of data, similar to rows in SQL tables, but they are JSON-like objects. They can contain various data types and nested structures.
- Collections: These are groups of documents, similar to tables in SQL. A collection does not enforce a fixed schema, allowing documents within the same collection to have different fields.
Think of a document as a single record, and a collection as a folder holding related records.
Setting Up MongoDB
To connect Node.js, you need a running MongoDB instance. You have a few options:
- Local Installation: Download and install MongoDB Community Server on your machine.
- MongoDB Atlas: A cloud-based database service (DBaaS) that provides a free tier. This is often the easiest way to get started without local setup.
For this lesson, we'll assume a local instance running on its default port, or an Atlas cluster you've configured.
The `mongodb` Driver
To interact with MongoDB from Node.js, we use the official mongodb driver. This library provides all the necessary tools to connect, query, and manage your data.
It acts as a bridge, allowing your JavaScript code to communicate seamlessly with the MongoDB server.
Installing the Driver
First, navigate to your project directory in the terminal and install the mongodb package using NPM:
npm init -y(if starting a new project)npm install mongodb
This command adds the mongodb package to your project's dependencies.
First MongoDB Connection
Let's write a simple Node.js script to connect to a MongoDB instance. This example will connect to a local server and then close the connection.
Try running this example:
const { MongoClient } = require('mongodb');
// Connection URI for a local MongoDB instance
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri);
async function connectToMongo() {
try {
await client.connect(); // Connect to the MongoDB server
console.log("Connected successfully to MongoDB!");
} catch (err) {
console.error("Failed to connect to MongoDB:", err);
} finally {
await client.close(); // Ensure the connection is closed
console.log("Connection closed.");
}
}
connectToMongo();Understanding the URI
The connection URI (e.g., mongodb://localhost:27017) is crucial. Let's break it down:
mongodb://: The protocol indicating a MongoDB connection.localhost: The hostname or IP address where MongoDB is running. For cloud services like Atlas, this would be a specific server address.27017: The default port number for MongoDB./mydb(Optional): You can specify a database name directly in the URI. If omitted, you connect to the server and can then select a database.
For Atlas, your URI will include username, password, and cluster details.
Handling Connection Events
It's good practice to handle potential connection errors and events. The MongoClient emits events you can listen to:
client.on('error', ...): Catches errors during connection or operations.client.on('close', ...): Fired when the connection to the server is closed.client.on('reconnect', ...): Emitted if the driver successfully reconnects after a disconnection.
Using try...catch...finally blocks with async/await, as shown, is a modern way to manage connection flow.
Quick Check: Connection URI
You've seen how a MongoDB connection URI is structured.
Recap: Connecting Node.js to MongoDB
Great job! You've taken the first step into data persistence with Node.js and MongoDB.
- We learned about NoSQL databases and MongoDB's document/collection model.
- You now know how to install and use the official
mongodbdriver. - We explored how to establish a connection using a connection URI and handle basic connection flow.
Next, we'll dive deeper into modeling your data with Mongoose!
Часто задаваемые вопросы
Урок «Подключение Node.js к MongoDB» бесплатный?
Да — полный текст урока «Подключение Node.js к MongoDB» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Node.js Backend Development Bootcamp, подпишись на CoddyKit PRO. Курс Node.js Backend Development Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Подключение Node.js к MongoDB»?
Настройте MongoDB, подключите к ней приложение Node.js и разберитесь в основных понятиях баз данных. Ты практикуешь Node.js Backend Development Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Node.js Backend Development Bootcamp?
Предыдущий опыт не требуется. Node.js Backend Development Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Подключение Node.js к MongoDB»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Node.js Backend Development Bootcamp?
Да. Каждый урок Node.js Backend Development Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Подключение Node.js к MongoDB
- ODM Mongoose для моделирования данных
- Операции CRUD с Mongoose
- Запросы и фильтрация данных с Mongoose