25- كورس Node.js بالعربي – MongoDB Collection

شرح MongoDB Collection في Node.js

مقدمة إلى MongoDB Collection في Node.js

MongoDB هي قاعدة بيانات غير علائقية تُستخدم على نطاق واسع لتخزين البيانات في شكل مستندات BSON. تعتبر MongoDB مثالية لتطبيقات الويب الحديثة التي تتطلب مرونة في إدارة البيانات. في هذا المقال، سنستعرض كيفية التعامل مع المجموعات (Collections) في MongoDB باستخدام Node.js، وكيفية إجراء العمليات الأساسية مثل الإدراج والاستعلام والتحديث [شركة برمجة مصرية] والحذف.

إنشاء مجموعة في MongoDB باستخدام Node.js

للبدء في العمل مع MongoDB في Node.js، يجب أولاً تثبيت الحزمة المساعدة mongodb. يمكنك القيام بذلك باستخدام npm:

npm install mongodb

بمجرد تثبيت الحزمة، يمكنك إنشاء اتصال بقاعدة البيانات وإنشاء مجموعة جديدة. إليك مثال بسيط لإنشاء مجموعة:

const { MongoClient } = require('mongodb');
    const uri = "your-mongodb-uri";
    const client = new MongoClient(uri);

    async function createCollection() {
        try {
            await client.connect();
            const database = client.db('myDatabase');
            const collection = database.collection('myCollection');
            console.log("Collection created!");
        } finally {
            await client.close();
        }
    }

    createCollection().catch(console.error);

في هذا المثال، قمنا بإنشاء مجموعة باسم myCollection داخل قاعدة بيانات myDatabase. تأكد من استبدال your-mongodb-uri بالمسار الصحيح لقاعدة بيانات MongoDB الخاصة بك.

إجراء العمليات الأساسية على المجموعات

بعد إنشاء المجموعة، يمكنك القيام بالعمليات الأساسية مثل الإدراج والاستعلام والتحديث والحذف. لنلق نظرة على كيفية إجراء كل من هذه العمليات:

إدراج مستندات في مجموعة

لإدراج مستندات جديدة في المجموعة، يمكنك استخدام الدالة insertOne أو insertMany حسب الحاجة. إليك مثال على ذلك:

async function insertDocuments() {
        try {
            await client.connect();
            const database = client.db('myDatabase');
            const collection = database.collection('myCollection');
            const doc = { name: "Alice", age: 30, city: "Wonderland" };
            const result = await collection.insertOne(doc);
            console.log(`Document inserted with _id: ${result.insertedId}`);
        } finally {
            await client.close();
        }
    }

    insertDocuments().catch(console.error);

استعلام عن مستندات من مجموعة

يمكنك استعلام المستندات باستخدام الدالة find. هذا مثال على كيفية استخدام find لاسترجاع جميع المستندات التي تطابق شرطًا معينًا:

async function findDocuments() {
        try {
            await client.connect();
            const database = client.db('myDatabase');
            const collection = database.collection('myCollection');
            const query = { city: "Wonderland" };
            const cursor = collection.find(query);
            await cursor.forEach(console.log);
        } finally {
            await client.close();
        }
    }

    findDocuments().catch(console.error);

في هذا المثال، يتم استرجاع جميع المستندات التي تحتوي على قيمة city تساوي “Wonderland”.

تحديث مستندات في مجموعة

لتحديث مستندات موجودة، يمكنك استخدام الدالة updateOne أو updateMany. إليك مثال [شركة برمجة مصرية] على تحديث مستند واحد:

async function updateDocument() {
        try {
            await client.connect();
            const database = client.db('myDatabase');
            const collection = database.collection('myCollection');
            const filter = { name: "Alice" };
            const updateDoc = {
                $set: {
                    age: 31,
                },
            };
            const result = await collection.updateOne(filter, updateDoc);
            console.log(`${result.matchedCount} document(s) matched the filter, updated ${result.modifiedCount} document(s)`);
        } finally {
            await client.close();
        }
    }

    updateDocument().catch(console.error);

حذف مستندات من مجموعة

لحذف مستندات، يمكنك استخدام الدالة deleteOne أو deleteMany. إليك كيفية حذف مستند واحد:

async function deleteDocument() {
        try {
            await client.connect();
            const database = client.db('myDatabase');
            const collection = database.collection('myCollection');
            const query = { name: "Alice" };
            const result = await collection.deleteOne(query);
            console.log(`Deleted ${result.deletedCount} document(s)`);
        } finally {
            await client.close();
        }
    }

    deleteDocument().catch(console.error);

في هذا المثال، يتم حذف المستند الذي يحتوي على قيمة name تساوي “Alice”.

الخاتمة

في هذا المقال، استعرضنا كيفية التعامل مع مجموعات MongoDB في Node.js، بما في ذلك إنشاء وإدارة البيانات داخل المجموعات. تعلمت كيفية إنشاء مجموعة جديدة، وإدراج مستندات، واستعلام وتحديث وحذف البيانات باستخدام مكتبة mongodb. يمكنك الآن تطوير تطبيقات تعتمد على MongoDB بكفاءة ومرونة باستخدام Node.js.