📜  在 sequelize 中创建或更新 - Javascript (1)

📅  最后修改于: 2023-12-03 15:37:31.477000             🧑  作者: Mango

在 Sequelize 中创建或更新

Sequelize 是一个 Node.js ORM(Object-Relational Mapping),可在 Node.js 应用程序中使用 SQL 查询和操作数据库。此文将介绍如何在 Sequelize 中创建或更新数据。

安装 Sequelize

在介绍如何在 Sequelize 中创建或更新数据之前,我们需要先安装 Sequelize 和适用于 MySQL 的 Sequelize。

在命令行中运行以下命令安装 Sequelize 和 MySQL2:

npm install --save sequelize mysql2
创建 Sequelize 模型

在 Sequelize 中,数据是被称为“模型”的概念性对象组织的。每个模型都表示一个数据库表。

要创建一个 Sequelize 模型,我们可以使用 Sequelize 中的 define 方法,并指定模型属性和选项。例如:

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
  },
  age: {
    type: DataTypes.INTEGER
  }
});

这个例子中,我们创建了一个名为 User 的模型,它具有三个属性:firstNamelastNameage。其中,firstName 属性是必需的,因为它有一个 allowNull: false 选项。

定义模型时,还可以添加模型级别的选项,例如:

const User = sequelize.define('User', {
  // ...
}, {
  timestamps: false
});

在模型级别上,我们添加了一个 timestamps: false 选项,以防止 Sequelize 向数据库自动添加时间戳字段。

创建 Sequelize 记录

一旦我们定义了一个 Sequelize 模型,我们可以使用模型的 create 方法创建新记录。例如:

User.create({
  firstName: 'John',
  lastName: 'Doe',
  age: 30
}).then(user => {
  console.log(user.toJSON());
});

这将创建一个名为 John Doe 的用户,并在控制台输出用户对象。

更新 Sequelize 记录

要更新 Sequelize 模型的现有记录,我们可以使用 update 方法。例如:

User.update({ age: 31 }, { where: { firstName: 'John' } }).then(() => {
  console.log('Updated John\'s age');
});

这个例子中,我们将名为 John 的用户的年龄更新为 31。

注意,在 update 方法中,我们必须使用一个 where 对象来指定要更新的记录。如果省略了 where 对象,将更新所有记录。

总结

这里介绍了如何在 Sequelize 中创建和更新数据。我们可以通过创建模型并使用 create 方法创建新记录。我们还可以使用 update 方法来更新现有记录。Sequelize 还有更多功能,例如查询数据和事务处理。