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

عمليات CRUD: ما هي وكيف يمكنني استخدامها؟

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

CRUD Operations: What Are They, and How Can I Use Them?

عمليات CRUD: ما هي وكيف يمكنني استخدامها؟

تعتبر عمليات CRUD - الإنشاء والقراءة والتحديث والحذف - أساسية لأي تطبيق يتطلب إدارة البيانات. من المهم للمطورين أن يفهموا هذه العمليات، لأنها توفر الوظائف الأساسية التي نحتاجها للتفاعل مع قواعد البيانات بشكل فعال. في منشور المدونة هذا، سأشرح ما هي عمليات CRUD وكيفية تنفيذها باستخدام مكدس MERN (MongoDB وExpress وReact وNode.js) من خلال عرض كيفية دمجها في تطبيق Yoga Pose Library الخاص بي.

ما هي عمليات CRUD؟

CRUD هو اختصار يرمز إلى:

  • إنشاء: إضافة بيانات جديدة إلى قاعدة البيانات.
  • قراءة: استرداد البيانات من قاعدة البيانات.
  • التحديث: تعديل البيانات الموجودة في قاعدة البيانات.
  • حذف: إزالة البيانات من قاعدة البيانات.

تشكل هذه العمليات العمود الفقري لمعظم تطبيقات الويب التي تتضمن معالجة البيانات. يتيح تنفيذ عمليات CRUD للمستخدمين التفاعل مع البيانات وإدارتها بشكل فعال.

إعداد مكدس MERN لعمليات CRUD

1. إعداد MongoDB

للبدء في تنفيذ عمليات CRUD، قمت بإعداد قاعدة بيانات MongoDB لتخزين أوضاع اليوغا الخاصة بي. وإليك كيف يمكنك أن تفعل الشيء نفسه:

  • تثبيت MongoDB: تنزيل وتثبيت MongoDB من الموقع الرسمي
  • ابدأ تشغيل خادم MongoDB: قم بتشغيل mongod في جهازك الطرفي لبدء الخادم.

2. اتصل بـ MongoDB

للاتصال بـ MongoDB، استخدمت Mongoose، وهي مكتبة لنمذجة بيانات الكائنات (ODM) لـ MongoDB وNode.js. إليك كيفية إنشاء الاتصال في ملف server.js الخاص بي:



const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/yogaPoseLibrary')
.then(() => console.log('Connected to MongoDB'))
.catch(err => console.error('Error connecting to MongoDB', err));


3. إنشاء نموذج النمس

بعد ذلك، قمت بإنشاء نموذج Mongoose لتمثيل أوضاع اليوغا الخاصة بي. يتيح هذا النموذج التفاعل السهل مع مجموعة MongoDB. في ملفmodels/Pose.js، قمت بتعريف المخطط على النحو التالي:



const mongoose = require('mongoose');

const poseSchema = new mongoose.Schema({
  name: { type: String, required: true },
  description: { type: String, required: true },
});

module.exports = mongoose.model('Pose', poseSchema);


تنفيذ عمليات CRUD

مع اتصال MongoDB وإعداد النموذج، قمت بتنفيذ عمليات CRUD في خادم Express الخاص بي.

1. إنشاء (مشاركة)

للسماح للمستخدمين بإضافة أوضاع يوغا جديدة، قمت بإنشاء مسار يقبل طلبات POST:



app.post('/api/poses', async (req, res) => {
  try {
    const newPose = new Pose(req.body);
    const savedPose = await newPose.save();
    res.status(201).json(savedPose);
  } catch (err) {
    res.status(500).json({ error: 'Failed to create pose' });
  }
});


في هذا المسار، يتم إنشاء وضع جديد باستخدام البيانات المرسلة في نص الطلب وحفظها في قاعدة البيانات.

2. اقرأ (احصل)

بالنسبة لعملية القراءة، قمت بإنشاء طريق لاسترداد جميع الأوضاع:



app.get('/api/poses', async (req, res) => {
  try {
    const poses = await Pose.find();
    res.json(poses);
  } catch (err) {
    res.status(500).json({ error: 'Failed to fetch poses' });
  }
});


يسترد هذا المسار جميع أوضاع اليوغا من قاعدة البيانات ويرسلها مرة أخرى كاستجابة JSON.

3. التحديث (PUT)

للسماح للمستخدمين بتحديث الأوضاع الحالية، قمت بتنفيذ مسار PUT:


app.put('/api/poses/:id', async (req, res) => {
  try {
    const updatedPose = await Pose.findByIdAndUpdate(req.params.id, req.body, { new: true });
    res.json(updatedPose);
  } catch (err) {
    res.status(500).json({ error: 'Failed to update pose' });
  }
});


يقوم هذا المسار بتحديث وضع معين بناءً على المعرف المقدم وإرجاع الوضع المحدث.

4. حذف (حذف)

أخيرًا، قمت بتنفيذ عملية الحذف:


app.delete('/api/poses/:id', async (req, res) => {
  try {
    await Pose.findByIdAndRemove(req.params.id);
    res.json({ message: 'Pose deleted' });
  } catch (err) {
    res.status(500).json({ error: 'Failed to delete pose' });
  }
});


يزيل هذا المسار وضعية من قاعدة البيانات باستخدام معرفها.

اختبار عمليات CRUD

بمجرد تنفيذ عمليات CRUD، استخدمت Postman لاختبار كل نقطة نهاية. يضمن هذا الاختبار أن مساراتي تعمل بشكل صحيح وأن البيانات تتم إدارتها كما هو متوقع.

اختبارات سبيل المثال

  • إنشاء وضع جديد:

أرسل طلب POST إلى /api/poses بالنص التالي:


{
"name": "المحارب الأول"،
"description": "وضعية الوقوف التي تقوي الساقين والعضلات الأساسية."

  • قراءة جميع الأوضاع:

أرسل طلب GET إلى /api/poses.

  • تحديث الوضع الحالي:

أرسل طلب PUT إلى /api/poses/:id مع البيانات المحدثة.

  • حذف وضعية:

أرسل طلب حذف إلى /api/poses/:id.

خاتمة

تعد عمليات CRUD ضرورية لأي تطبيق يتضمن إدارة البيانات. من خلال دمج هذه العمليات في تطبيق Yoga Pose Library الخاص بي باستخدام حزمة MERN، قمت بإنشاء تطبيق قوي يسمح للمستخدمين بالتفاعل مع أوضاع اليوغا بشكل فعال. سيؤدي فهم عمليات CRUD وتنفيذها إلى تعزيز مهارات التطوير لديك بشكل كبير وتمكينك من إنشاء تطبيقات ويب ديناميكية. وبينما أواصل تحسين تطبيقي، فإنني أتطلع إلى استكشاف المزيد من الميزات وتحسين تجربة المستخدم.

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/wendyver/crud-operations-what-are-they-and-how-can-i-use-them-589i?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang @163.com حذف
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3