📜  sequelize 中的字段值和分组依据 (1)

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

Sequelize 中字段和分组依据

Sequelize 是一种 Node.js ORM(对象关系映射)工具,用于管理 SQL 数据库。这里将介绍 Sequelize 中的字段和分组依据。

字段

在 Sequelize 中,可以使用字段来定义数据库表。以下是一些常用的字段类型:

  • Sequelize.STRING:字符串类型
  • Sequelize.TEXT:长文本类型
  • Sequelize.INTEGER:整数类型
  • Sequelize.DATE:日期类型
  • Sequelize.BOOLEAN:布尔类型

以下是使用 Sequelize.STRING 字段类型定义一个 User 模型的示例代码:

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

const User = sequelize.define('user', {
  name: { type: Sequelize.STRING },
  email: { type: Sequelize.STRING },
  age: { type: Sequelize.INTEGER }
});

在上面的代码中,我们定义了一个名为 User 的模型,并使用了三个字段:name、email 和 age。

分组依据

我们可以使用 Sequelize 中的分组依据来对数据进行分组。以下是使用 Sequelize 中的分组依据查询 user 表中的用户年龄分布的示例代码:

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

const User = sequelize.define('user', {
  name: { type: Sequelize.STRING },
  email: { type: Sequelize.STRING },
  age: { type: Sequelize.INTEGER }
});

User.findAll({
  attributes: [
    'age',
    [sequelize.fn('COUNT', sequelize.col('age')), 'count']
  ],
  group: 'age'
})
.then(results => {
  for (let i = 0; i < results.length; i++) {
    console.log(results[i].get('age'), results[i].get('count'));
  }
});

在上面的代码中,我们创建了一个名为 User 的模型,并定义了三个字段:name、email 和 age。然后,我们使用 findAll() 查询 user 表中的用户数据,并使用 Sequelize 的分组依据查询用户年龄分布。

这段代码返回的是一个对象,其中包含每个年龄值的计数。

以上是 Sequelize 中的字段和分组依据的介绍。通过这些特性,你可以更轻松、更高效地管理和查询 SQL 数据库。