You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Sequelize查询PostgreSQL数据库中的数组字段

查询Sequelize数组字段包含指定值的方法

针对你定义的user模型中tag(ARRAY(STRING)类型)字段,要查询包含指定值(如black)的记录,可以通过以下方式实现:

  • 首先确保引入Sequelize的操作符(适用于v5及以上版本):
const { Op } = require('sequelize');
  • 使用Op.contains操作符执行查询:
const targetUsers = await User.findAll({
  where: {
    tag: {
      [Op.contains]: ['black']
    }
  }
});

兼容旧版本Sequelize

如果你的Sequelize版本低于v5,需要使用旧版的$contains语法:

const targetUsers = await User.findAll({
  where: {
    tag: {
      $contains: ['black']
    }
  }
});

注意:查询值必须以数组形式传入,即使只匹配单个元素,这样才能正确匹配数组字段的包含关系。

内容的提问来源于stack exchange,提问作者Damilare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 00:05:15