كيفية إعداد وتوصيل MongoDB بمشروع Nodejs بسهولة

ربط MongoDB بـ Node.js: من الإعداد إلى التنفيذ
استخدام MongoDB كقاعدة بيانات لتطبيقات Node.js: دليل شامل

تعلم كيفية ربط MongoDB بـ Node.js وإنشاء تطبيقات قوية

MongoDB هي قاعدة بيانات NoSQL موزعة مفتوحة المصدر تُستخدم لتخزين البيانات وإدارتها. تتميز MongoDB بسهولة الاستخدام وقابلية التطوير، مما يجعلها خيارًا مثاليًا لتطبيقات الجوال.


مميزات وفوائد MongoDB

  1. سهولة الاستخدام: توفر MongoDB واجهة برمجة تطبيقات سهلة الاستخدام تجعل من السهل تخزين البيانات واسترجاعها.
  2. قابلية التطوير: يمكن لـ MongoDB التوسع بسهولة لتلبية احتياجاتك المتزايدة.
  3. الأداء: توفر MongoDB أداءً سريعًا وقابلًا للتطوير.
  4. المرونة: تدعم MongoDB مجموعة متنوعة من أنواع البيانات، مما يجعلها مناسبة لمجموعة واسعة من التطبيقات.
  5. تكامل سهل مع واجهات برمجة التطبيقات: توفر MongoDB واجهات برمجة تطبيقات سهلة الاستخدام لدمجها مع تطبيقات الجوال.


كيف يمكن الاستفادة من MongoDB؟

  • استخدامها لتخزين بيانات المستخدمين: يمكن للشركة استخدام MongoDB لتخزين بيانات المستخدمين، مثل أسماء المستخدمين وكلمات المرور والإعدادات.
  • استخدامها لتخزين بيانات التطبيق: يمكن للشركة استخدام MongoDB لتخزين بيانات التطبيق، مثل محتوى التطبيق وقواعد البيانات.
  • استخدامها لتخزين بيانات التحليلات: يمكن للشركة استخدام MongoDB لتخزين بيانات التحليلات، مثل بيانات الاستخدام وسلوك المستخدم.


كيف يمكن لمبرمج الهاتف الذكي الاستفادة من MongoDB؟

  1. استخدامها لتخزين بيانات التطبيق: يمكن للمبرمج استخدام MongoDB لتخزين بيانات التطبيق، مثل محتوى التطبيق وقواعد البيانات.
  2. استخدامها لتخزين بيانات المستخدمين: يمكن للمبرمج استخدام MongoDB لتخزين بيانات المستخدمين، مثل أسماء المستخدمين وكلمات المرور والإعدادات.
  3. استخدامها لتخزين بيانات التحليلات: يمكن للمبرمج استخدام MongoDB لتخزين بيانات التحليلات، مثل بيانات الاستخدام وسلوك المستخدم.


MongoDB و تخصص البرمجة

تُعد MongoDB أداة قوية لأي تخصص برمجة، بما في ذلك:

  • مطوري تطبيقات الجوال: يمكن لمطوري تطبيقات الجوال استخدام MongoDB لتخزين بيانات التطبيق، مثل محتوى التطبيق وقواعد البيانات.
  • مطوري الويب: يمكن لمطوري الويب استخدام MongoDB لتخزين بيانات المستخدمين وبيانات التطبيق.
  • علماء البيانات: يمكن لعلماء البيانات استخدام MongoDB لتخزين بيانات التحليلات.


MongoDB هي قاعدة بيانات قوية يمكن استخدامها لتطبيقات الجوالهناك العديد من الموارد المتاحة لمساعدتك على البدء باستخدام MongoDB، بما في ذلك وثائق MongoDB ومركز المطورين.


تثبيت مكتبة mongoDB


npm i mongoose


خطوات التعامل مع mongoDB وربطها بمشروعك

بعد فتح mongodb تقوم بتسجيل حساب جديد والطريقة سهله جدا مثل اي طريقة تسجيل في اي موقع , وبعدها سوف تحتاج الى انشاء اسم مستخدم وكلمة مرور ويقوم هو بانشاء اسم وكلمة لك يمكنك نسخها او تعديلها , بعدها انزل للاسفل وسوف تجد انها حصل على ip الشبكة الخاصه بك ويسمح لك فقط بالتعديل والتعامل مع قاعدة البيانات ويمكنك جعل اي شخص يستخدمها وسوف نشرح لكم في الاسفل كيف ذلك

خطوات التعامل مع mongoDB وربطها بمشروعك

خطوات التعامل مع mongoDB وربطها بمشروعك


يمكنك التعديل على مستخدمي الشبكة او حتى المستخدم وكلمة المرور التي ظهرت لك في البداية في الجزء المخصص لها كما هو موضح

كيفية إعداد وتوصيل MongoDB بمشروع Nodejs بسهولة


بعد تثبيت الاعدادات يمكنك الانتقال للاسفل وعند network يمكنك التوجهه اليها واتباع الخطوات التاليه لجعل اي شخص يستخدم قاعدة البيانات الخاصه بك .
تعلم كيفية ربط MongoDB بـ Node.js وإنشاء تطبيقات قوية

لربط المشروع الخاص بك بمشروعك في vs code انتقل الة database من اليمين وبعدها connect

خطوات بسيطة لربط قاعدة بيانات MongoDB بمشروع Node.js

الان اختر اول اختيار وهو drivers

خطوات بسيطة لربط قاعدة بيانات MongoDB بمشروع Node.js

انسخ الرابط الذي ظهر لك وهذا ما سوف يتم استخدامه

استخدام Mongoose لربط MongoDB مع Node.js بشكل احترافي

لكي تستخدم المكتبة وربطها في vs code يمكنك ذلك من خلال الاكواد التالي اولا وهو استدعاء المكتبة وبعدها عمل connect من خلال استخدام الامر المخصص ووضع الرابط مع تغيير علامات ### باسم كلمة المرور وايضا @@@ باسم المستخدم الذي ظهر لك في البداية , طبعا لا تنسى لصق الرابط الذي قمت بنسخه بالاعلى وتغيره بالعناصر المطلوبه

const mongoose = require('mongoose');
mongoose.connect("mongodb+srv://@@@:###@cluster0.wxdlqpe.mongodb.net/?retryWrites=true&w=majority").then(
    ()=>{
        app.listen(8080,()=>{
            console.log("server is running");
            });
    }
);

الان قم بإنشاء فولدر باسم models وضع بداخله model معين للبيانات التي تريدها وهنا اريد بعمل بيانات بالاسم والعمر فقط.


الربط بين MongoDB وNode.js: كل ما تحتاج معرفته

student_router.js

const mongoose = require('mongoose');


const modelStudent = mongoose.Schema({
    name:String,
    age:Number
});

module.exports = mongoose.model('student',modelStudent);

الان وفي اخر خطوة يمكنك الانتقال الى ملف router الذي قمنا بعمل في الدرس السابقه وتعديل جميع العناصر التي بداخلها حتى تتمكن من التعامل مع قاعدة البيانات وهنا قمنا باستخدام اغلب العناصر وهيا الحذف والاضافه والعرض والعرض حسب ال id والحذف .

const express = require('express');
const Student = require('../models/mongo_model');
const router = express.Router();

router.get('/get',async (req,res)=>{

    // الحصول على البيانات مع ارجاع قيمة 200 في نجاح العمليه

    // يمكنك استخدام هذه الطريقة او حتى الطريقة الاخرى مع وضع async بالاعلى كما هو موضح
    // Student.find().then((data)=>{
    //     res.status(200).json(data);
    // });


    // هذه طريقة اخرى ايضا .
    const data = await Student.find();
    res.status(200).json(data)

});

// الحذف عن طريق id
router.delete('/:id',async (req,res)=>{
    
    // الحصول على البيانات مع ارجاع قيمة 200 في نجاح العمليه

    // يمكنك استخدام هذه الطريقة او حتى الطريقة الاخرى مع وضع async بالاعلى كما هو موضح
    // Student.find().then((data)=>{
    //     res.status(200).json(data);
    // });


    // هذه طريقة اخرى ايضا .
    const data = await Student.deleteOne({"_id":req.params.id});
    res.status(200).json(data)

    // http://www.localhost:8080/product/find64b0fff88579590e4dfe8452

});

// التعديل عن طريق id
router.patch('/:id',async (req,res)=>{
    
    // الحصول على البيانات مع ارجاع قيمة 200 في نجاح العمليه

    // يمكنك استخدام هذه الطريقة او حتى الطريقة الاخرى مع وضع async بالاعلى كما هو موضح
    // Student.find().then((data)=>{
    //     res.status(200).json(data);
    // });


    // هذه طريقة اخرى ايضا .
    const data = await Student.updateOne({"_id":req.params.id},{"name":req.body.name});
    res.status(200).json(data)

    // http://www.localhost:8080/product/find64b0fff88579590e4dfe8452

});

// البحث عن طريق ال id
router.get('/find:id',async (req,res)=>{
    
    // الحصول على البيانات مع ارجاع قيمة 200 في نجاح العمليه

    // يمكنك استخدام هذه الطريقة او حتى الطريقة الاخرى مع وضع async بالاعلى كما هو موضح
    // Student.find().then((data)=>{
    //     res.status(200).json(data);
    // });


    // هذه طريقة اخرى ايضا .
    const data = await Student.findById(req.params.id);
    res.status(200).json(data)

    // http://www.localhost:8080/product/find64b0fff88579590e4dfe8452

});


router.post('/post',(req,res)=>{

    const student = new Student({
        name:req.body.name,
        age:req.body.age,
    });

    student.save().then((data) => {
        res.json({
            "message":"added to success",
            "data" : data
        });
    });
});

// تصدير الملف حتى يمكن استخدامه في اي مكان
module.exports = router;

اخيرا للوصول الى العناصر والبيانات من خلال موقع mongoDb يمكنك ذلك من خلال التوجه الى database ومن ثم All Clusters وبعدها Collections وسوف تشاهد البيانات التي قمت باستعاملها

كيفية إعداد وتوصيل MongoDB بمشروع Node.js بسهولة

تعليقات