ربط 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ربط Node.js بـ MongoDB
- Mongoose ODM لنمذجة البيانات
- عمليات CRUD باستخدام Mongoose
- الاستعلام عن البيانات وتصفيتها باستخدام Mongoose