Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Sequelize:查询数组是否包含值_Postgresql_Sequelize.js - Fatal编程技术网

Postgresql Sequelize:查询数组是否包含值

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

假设我有一个PG数组字段:

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”]}