📜  在 sequelize 中更新 - Javascript (1)

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

在 sequelize 中更新 - Javascript

Sequelize 是一款支持多种数据库的 ORM(Object-Relational Mapping)框架,它提供了方便的 API 用于操作数据库,包括增删改查等操作。在 sequelize 中更新数据十分简单,本文将为您详细介绍如何在 sequelize 中使用更新功能。

准备工作

在开始使用 sequelize 进行更新操作之前,您需要安装 sequelize,具体安装方法可查考官网

在引入 sequelize 后,您需要创建一个 sequelize 对象,并定义一个模型,代码如下:

const { Sequelize, DataTypes } = require('sequelize');

// 创建 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
  }
});
更新数据

接下来,您可以使用 update 方法来更新 model 中的数据。update 方法接收一个 object 类型的参数,用于指定需要更新的数据和更新条件,代码如下:

(async () => {
  // 更新数据
  await User.update({ lastName: 'Liu' }, {
    where: {
      firstName: 'John'
    }
  });
  console.log('Update successful!');
})();

在上述代码中,我们使用 update 方法将 firstName 为 John 的 User 的 lastName 字段更新为 Liu。

update 方法参数详解

update 方法包含两个参数,参数一:更新的数据,参数二:更新的条件,下面对于参数进行详细的介绍。

参数一:更新的数据

参数一是一个 object 类型的参数,该参数用于指定需要更新的数据,其 key 为需要更新的字段,value为该字段需要更新的值。例如:

// 更新 lastName 和 age 两个字段
await User.update({ 
  lastName: 'Smith',
  age: 20 
}, {
  where: {
    firstName: 'John'
  }
});
参数二:更新的条件

参数二同样是一个 object 类型的参数,该参数用于指定更新数据的条件。常见的条件包括:

  • where:用于指定查询条件;
  • limit:用于限制最多更新多少条数据;
  • order:用于对数据进行排序。

例如:

// 限制最多更新一条数据
await User.update({ 
  lastName: 'Smith',
}, {
  where: {
    firstName: 'John'
  },
  limit: 1
});

// 将数据按照 age 从大到小排序
await User.update({ 
  lastName: 'Smith',
}, {
  where: {
    firstName: 'John'
  },
  order: [['age', 'desc']]
});
结束语

通过本文的介绍,您已经学会了在 sequelize 中使用 update 方法来更新数据。同时,我们还介绍了 update 方法的参数以及使用方法。

希望本文对您有所帮助!