如何使用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
相关产品推荐
相关产品推荐

