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);
Такой подход позволяет централизованно управлять всеми операциями с данными, упрощая поддержку и расширение приложения.