“Секвелизация пути: обзор методов с примерами кода”
Sequelize — это популярная библиотека объектно-реляционного сопоставления (ORM) для Node.js, которая обеспечивает простой способ взаимодействия с реляционными базами данных. В этой статье блога мы рассмотрим различные методы, предоставляемые Sequelize, а также примеры кода, которые помогут вам понять, как эффективно использовать Sequelize в ваших приложениях Node.js.
- Создание модели:
Чтобы начать использовать Sequelize, вам необходимо определить модели, представляющие таблицы базы данных. Вот пример создания модели Sequelize для таблицы «Пользователь»:
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql',
});
const User = sequelize.define('User', {
firstName: {
type: DataTypes.STRING,
allowNull: false,
},
lastName: {
type: DataTypes.STRING,
allowNull: false,
},
age: {
type: DataTypes.INTEGER,
},
});
// Additional model configuration can be done here
module.exports = User;
- Получение данных.
Sequelize предоставляет различные методы получения данных из базы данных. Вот несколько примеров:
- Найти всех пользователей:
const users = await User.findAll();
console.log(users);
- Найти пользователей по условиям:
const users = await User.findAll({
where: {
age: { [Sequelize.Op.gt]: 18 }, // Find users with age greater than 18
},
});
console.log(users);
- Манипулирование данными.
Sequelize предлагает методы для создания, обновления и удаления записей. Вот несколько примеров:
- Создать нового пользователя:
const newUser = await User.create({
firstName: 'John',
lastName: 'Doe',
age: 25,
});
console.log(newUser);
- Обновить пользователя:
const user = await User.findByPk(1); // Assuming user with ID 1 exists
if (user) {
user.firstName = 'UpdatedFirstName';
user.lastName = 'UpdatedLastName';
await user.save();
console.log(user);
}
- Удалить пользователя:
const user = await User.findByPk(1); // Assuming user with ID 1 exists
if (user) {
await user.destroy();
console.log('User deleted successfully');
}
- Ассоциации.
Sequelize позволяет определять ассоциации между моделями, например отношения «один-к-одному», «один-ко-многим» и «многие-ко-многим». Вот пример связи «один ко многим»:
DataTypes.TEXT,
});
User.hasMany(Post);
Post.belongsTo(User);
// Пример использования
const user = await User.findByPk (1); // Предполагаем, что пользователь с идентификатором 1 существует
const Posts = await user.getPosts();
console.log(posts);