Sequelize:在 PostgreSQL 的 JSON 数据类型上使用 $like
Posted
技术标签:
【中文标题】Sequelize:在 PostgreSQL 的 JSON 数据类型上使用 $like【英文标题】:Sequelize: use $like on JSON data type with PostgreSQL 【发布时间】:2016-02-12 12:47:38 【问题描述】:我在 PostgreSQL 中使用 Sequelize。
我需要构建一个销毁查询,该查询可以在 JSON 数据类型上使用 $like
运算符。
以这个模型定义为例:
var Sequelize = require('sequelize');
var sequelize = new Sequelize('database', 'username', 'password');
var Project = sequelize.define('project',
name: Sequelize.STRING,
details:
type: Sequelize.JSON,
defaultValue:
,
);
现在,我希望能够运行查询来销毁所有没有任何详细信息的项目条目:
Project.destroy(
where:
details:
$like: ''
)
但我收到此错误:
[SequelizeDatabaseError: operator does not exist: json ~~ unknown]
那么,有没有办法做到这一点以及如何做到这一点?
谢谢!!
【问题讨论】:
【参考方案1】:尝试使用:
$like: $any: ['cat', 'hat'] // LIKE ANY ARRAY['cat', 'hat'] - also works for iLike and notLike
来自docs。
【讨论】:
以上是关于Sequelize:在 PostgreSQL 的 JSON 数据类型上使用 $like的主要内容,如果未能解决你的问题,请参考以下文章
sequelize(和 sequelize-cli)queryInterface.createTable 在 PostgreSQL 上,PK id 类型为 UUID 和 defaultValue:Se
如何使用 Sequelize + PostgreSQL 将项目附加到数组值
如何在 Sequelize 中创建一个表以使用 Node JS 存储在 Postgresql 中
使用 Sequelize.js 和 PostgreSQL 在关联模型上查询 JSONB 字段