Ответ
В Node.js удаление элемента из базы данных зависит от типа БД и используемой библиотеки (ORM/ODM или нативный драйвер).
Пример с Mongoose (MongoDB):
// Удаление по ID
await User.findByIdAndDelete(userId);
// Удаление по условию
await User.deleteOne({ email: 'old@example.com' });
// Удаление нескольких документов
await User.deleteMany({ status: 'inactive' });
Пример с Sequelize (SQL):
// Удаление одной записи
await User.destroy({ where: { id: userId } });
// Удаление с условием
await User.destroy({ where: { createdAt: { [Op.lt]: new Date('2023-01-01') } } });
Пример с нативным драйвером pg (PostgreSQL):
const result = await pool.query('DELETE FROM users WHERE id = $1 RETURNING *', [userId]);
console.log(`Удален пользователь: ${result.rows[0].email}`);
Ключевые моменты:
- Безопасность: Всегда используйте параметризованные запросы или методы ORM для предотвращения SQL-инъекций.
- Транзакции: Для согласованного удаления связанных данных оберните операции в транзакцию.
- Soft Delete: В production часто реализуют "мягкое" удаление, добавляя флаг
isDeletedили полеdeletedAt, чтобы сохранить историю данных.