Sequelize Path: обзор методов с примерами кода

“Секвелизация пути: обзор методов с примерами кода”

Sequelize — это популярная библиотека объектно-реляционного сопоставления (ORM) для Node.js, которая обеспечивает простой способ взаимодействия с реляционными базами данных. В этой статье блога мы рассмотрим различные методы, предоставляемые Sequelize, а также примеры кода, которые помогут вам понять, как эффективно использовать Sequelize в ваших приложениях Node.js.

  1. Создание модели:
    Чтобы начать использовать 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;
  1. Получение данных.
    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);
  1. Манипулирование данными.
    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');
}
  1. Ассоциации.
    Sequelize позволяет определять ассоциации между моделями, например отношения «один-к-одному», «один-ко-многим» и «многие-ко-многим». Вот пример связи «один ко многим»:

DataTypes.TEXT,
});
User.hasMany(Post);
Post.belongsTo(User);
// Пример использования
const user = await User.findByPk (1); // Предполагаем, что пользователь с идентификатором 1 существует
const Posts = await user.getPosts();
console.log(posts);