«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Операции CRUD: что это такое и как их использовать?

Операции CRUD: что это такое и как их использовать?

Опубликовано 7 ноября 2024 г.
Просматривать:983

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. Создание модели мангуста

Затем я создал модель Мангуста, которая будет отображать мои позы йоги. Эта модель позволяет легко взаимодействовать с коллекцией 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": "Воин I",
"description": "Поза стоя, которая укрепляет ноги и корпус."
}

  • Прочитать все позы:

Отправьте запрос GET в /api/poses.

  • Обновить существующую позу:

Отправьте запрос PUT в /api/poses/:id с обновленными данными.

  • Удалить позу:

Отправьте запрос DELETE на /api/poses/:id.

Заключение

Операции CRUD необходимы для любого приложения, которое предполагает управление данными. Интегрировав эти операции в свое приложение «Библиотека поз йоги» с помощью стека 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