Sobes.tech
Back to questions
Junior — Middle
99

Возможно ли создать единый подход для выполнения операций создания, чтения, обновления и удаления данных?

Answer from AI

sobes.tech AI

Да, возможно создать единый подход для выполнения операций создания, чтения, обновления и удаления данных — это называется CRUD (Create, Read, Update, Delete). В Node.js часто используют паттерн репозитория или ORM (например, Sequelize, Mongoose), которые предоставляют единый интерфейс для работы с данными.

Пример простого CRUD с использованием Express и MongoDB (Mongoose):

const express = require('express');
const mongoose = require('mongoose');

const app = express();
app.use(express.json());

const UserSchema = new mongoose.Schema({ name: String, age: Number });
const User = mongoose.model('User', UserSchema);

// Create
app.post('/users', async (req, res) => {
  const user = new User(req.body);
  await user.save();
  res.status(201).send(user);
});

// Read
app.get('/users/:id', async (req, res) => {
  const user = await User.findById(req.params.id);
  if (!user) return res.status(404).send('User not found');
  res.send(user);
});

// Update
app.put('/users/:id', async (req, res) => {
  const user = await User.findByIdAndUpdate(req.params.id, req.body, { new: true });
  if (!user) return res.status(404).send('User not found');
  res.send(user);
});

// Delete
app.delete('/users/:id', async (req, res) => {
  const user = await User.findByIdAndDelete(req.params.id);
  if (!user) return res.status(404).send('User not found');
  res.send({ message: 'User deleted' });
});

app.listen(3000);

Такой подход позволяет централизованно управлять всеми операциями с данными, упрощая поддержку и расширение приложения.