📜  在 sequelize 中获取数组 - Javascript (1)

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

在 Sequelize 中获取数组 - Javascript

Sequelize 是一个流行的 Node.js ORM(对象关系映射)框架,它提供了许多方便的API来处理数据库操作。在 Sequelize 中,我们可以很容易地获取数组。

获取数组的基本方法

Sequelize 返回的结果都是对象数组,可以用以下方式获取数组:

const users = await User.findAll();

这里的 User 是 Sequelize 模型定义的一个实例,findAll() 是其中的一个方法。这个方法会查询表中的所有记录,并返回一个对象数组。

使用 Sequelize 中的聚合函数

Sequelize 中的聚合函数可以用于将数据聚合成一个值。聚合函数包括 SUM、COUNT、MIN、MAX 等等。

下面是一个使用 COUNT 函数来返回表中记录数量的示例:

const userCount = await User.count();
条件查询

我们可以使用 Sequelize 中的 where 子句来过滤记录。where 子句可以使用特殊的操作符(如 $and、$or、$not 等)来组合多个查询条件。例如:

const users = await User.findAll({
  where: {
    age: {
      [Op.gt]: 18
    },
    gender: 'female'
  }
});

在这个例子中,我们使用了 Op.gt 操作符来返回年龄大于 18 的所有女性用户。

使用 LIMIT 和 OFFSET

我们可以使用 LIMIT 和 OFFSET 子句来限制返回结果的数量和偏移量。例如,以下代码将返回表中的前 10 条记录:

const users = await User.findAll({
  limit: 10
});

我们也可以使用 OFFSET 子句来获取偏移量更多的结果。例如,以下代码将返回表中的第 11 到第 20 条记录:

const users = await User.findAll({
  offset: 10,
  limit: 10
});
结论

在 Sequelize 中获取数组非常容易,通过一些简单的 API 调用,我们就可以从数据库中获取所需的数据。同时,在使用 Sequelize 进行条件查询、聚合函数和分页时,使用相应的 API 很容易。