Postgresql Sequelize:查询数组是否包含值
假设我有一个PG数组字段:Postgresql Sequelize:查询数组是否包含值,postgresql,sequelize.js,Postgresql,Sequelize.js,假设我有一个PG数组字段: id | array | ===|=============| 1|{"1","2","3"}| 如何使用sequelize查询数组字段是否为值1 我试过: array: { $contains: "1" } 这给了我: array @> "1" 有误: Possibly unhandled SequelizeDatabaseError: array value must start with "{" or dimension inform
id | array |
===|=============|
1|{"1","2","3"}|
如何使用sequelize查询数组字段是否为值1
我试过:
array: { $contains: "1" }
这给了我:
array @> "1"
有误:
Possibly unhandled SequelizeDatabaseError: array value must start with "{" or dimension information
更新
我可以通过以下方式做到这一点:
数组:{$包含:{'+value+'}}
还有更正确的方法吗?我意识到sequelize希望条件是数组:
array: { [Op.contains]: ["1"] }
那就行了。干杯
请记住,Op
是从sequelize
const { Op } = require('sequelize');
也许是这样
`{ genres: { $contains: [genreType] } }`
genres
是一个数组genreType
也可以是数组
const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: /* one of 'mysql' | 'mariadb' | 'postgres' | 'mssql' */,
operatorsAliases: Sequelize.Op.Aliases,
});
您是在数据库中存储序列化数据,还是只是一种可视化?不,它不是序列化的。这是一个PG数组数据类型。更新:新语法是
ARRAY:{[Op.contains]:[“1”]}