Rumah  >  Artikel  >  hujung hadapan web  >  Operasi CRUD: Apakah Itu, dan Bagaimana Saya Boleh Menggunakannya?

Operasi CRUD: Apakah Itu, dan Bagaimana Saya Boleh Menggunakannya?

DDD
DDDasal
2024-10-07 16:22:02413semak imbas

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

Operasi CRUD: Apakah Itu, dan Bagaimana Saya Boleh Menggunakannya?

Operasi CRUD—Buat, Baca, Kemas Kini dan Padam—adalah asas kepada mana-mana aplikasi yang memerlukan pengurusan data. Adalah penting untuk pembangun memahami operasi ini, kerana ia menyediakan fungsi asas yang kami perlukan untuk berinteraksi dengan pangkalan data dengan berkesan. Dalam catatan blog ini, saya akan menerangkan tentang operasi CRUD dan cara melaksanakannya menggunakan tindanan MERN (MongoDB, Express, React dan Node.js) dengan mempamerkan cara saya menyepadukannya ke dalam apl Perpustakaan Yoga Pose saya.

Apakah Operasi CRUD?

CRUD ialah akronim yang bermaksud:

  • Buat: Menambah data baharu pada pangkalan data.
  • Baca: Mendapat semula data daripada pangkalan data.
  • Kemas kini: Mengubah suai data sedia ada dalam pangkalan data.
  • Padam: Mengalih keluar data daripada pangkalan data.

Operasi ini membentuk tulang belakang kebanyakan aplikasi web yang melibatkan manipulasi data. Melaksanakan operasi CRUD membolehkan pengguna berinteraksi dan mengurus data dengan berkesan.

Menyediakan Tindanan MERN untuk Operasi CRUD

1. Menyediakan MongoDB

Untuk mula melaksanakan operasi CRUD, saya menyediakan pangkalan data MongoDB untuk menyimpan pose yoga saya. Begini cara anda boleh melakukan perkara yang sama:

  • Pasang MongoDB: Muat turun dan pasang MongoDB dari tapak web rasmi
  • Mulakan pelayan MongoDB: Jalankan mongod dalam terminal anda untuk memulakan pelayan.

2. Sambung ke MongoDB

Untuk menyambung ke MongoDB, saya menggunakan Mongoose, pustaka Pemodelan Data Objek (ODM) untuk MongoDB dan Node.js. Begini cara saya mewujudkan sambungan dalam fail server.js saya:



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. Mencipta Model Mongoose

Seterusnya, saya mencipta model Mongoose untuk mewakili pose yoga saya. Model ini membolehkan interaksi mudah dengan koleksi MongoDB. Dalam fail models/Pose.js, saya mentakrifkan skema seperti berikut:



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);


Melaksanakan Operasi CRUD

Dengan sambungan MongoDB dan model yang disediakan, saya melaksanakan operasi CRUD dalam pelayan Express saya.

1. Buat (POST)

Untuk membolehkan pengguna menambah pose yoga baharu, saya mencipta laluan yang menerima permintaan 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' });
  }
});


Dalam laluan ini, pose baharu dibuat menggunakan data yang dihantar dalam badan permintaan dan disimpan ke pangkalan data.

2. Baca (GET)

Untuk operasi Baca, saya mencipta laluan untuk mendapatkan semua pose:



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' });
  }
});


Laluan ini mendapatkan semula semua pose yoga daripada pangkalan data dan menghantarnya kembali sebagai respons JSON.

3. Kemas kini (PUT)

Untuk membolehkan pengguna mengemas kini pose sedia ada, saya melaksanakan laluan 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' });
  }
});


Laluan ini mengemas kini pose tertentu berdasarkan ID yang diberikan dan mengembalikan pose yang dikemas kini.

4. Padam (DELETE)

Akhir sekali, saya melaksanakan operasi Padam:


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' });
  }
});


Laluan ini mengalih keluar pose daripada pangkalan data menggunakan IDnya.

Menguji Operasi CRUD

Setelah saya melaksanakan operasi CRUD, saya menggunakan Posmen untuk menguji setiap titik akhir. Ujian ini memastikan laluan saya berfungsi dengan betul dan data diurus seperti yang diharapkan.

Contoh Ujian

  • Buat pose baharu:

Hantar permintaan POST ke /api/poses dengan badan berikut:


{
"nama": "Pahlawan I",
"description": "Pose berdiri yang menguatkan kaki dan teras."
}

  • Baca semua pose:

Hantar permintaan GET ke /api/poses.

  • Kemas kini pose sedia ada:

Hantar permintaan PUT ke /api/poses/:id dengan data yang dikemas kini.

  • Padamkan pose:

Hantar permintaan PADAM ke /api/poses/:id.

Kesimpulan

Operasi CRUD adalah penting untuk sebarang aplikasi yang melibatkan pengurusan data. Dengan menyepadukan operasi ini ke dalam aplikasi Perpustakaan Yoga Pose saya menggunakan timbunan MERN, saya telah mencipta aplikasi teguh yang membolehkan pengguna berinteraksi dengan pose yoga dengan berkesan. Memahami dan melaksanakan operasi CRUD akan meningkatkan kemahiran pembangunan anda dengan ketara dan membolehkan anda mencipta aplikasi web dinamik. Sambil saya terus menambah baik apl saya, saya berharap dapat meneroka lebih banyak ciri dan mempertingkatkan pengalaman pengguna.

Atas ialah kandungan terperinci Operasi CRUD: Apakah Itu, dan Bagaimana Saya Boleh Menggunakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn