"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تكامل MongoDB مع Node.js – دليل كامل

تكامل MongoDB مع Node.js – دليل كامل

تم النشر بتاريخ 2024-11-07
تصفح:959

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

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

إذا كنت ترغب في التعمق أكثر في الموضوع، ففكر في استكشاف المزيد من الميزات مثل الفهرسة والتجميعات والنسخ المتماثل في MongoDB.


النصائح النهائية:

  • Mongoose: على الرغم من أن برنامج التشغيل الرسمي فعال، إلا أن المكتبات مثل Mongoose تقدم تجريدًا أكثر ودية مع المخططات والتحقق من الصحة.
  • قابلية التوسع: فكر في التقسيم والنسخ في الإنتاج لتوسيع نطاق تطبيقك باستخدام MongoDB.

آمل أن يكون هذا الدليل مفيدًا في دمج MongoDB مع Node.js!

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/lucaspereardesouzat/integracao-do-mongodb-com-nodejs-um-guia-completeto-39mk؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3