【问题标题】:Sequelize: use $like on JSON data type with PostgreSQLSequelize:在 PostgreSQL 的 JSON 数据类型上使用 $like
【发布时间】: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]

那么,有没有办法做到这一点以及如何做到这一点?

谢谢!!

【问题讨论】:

    标签: postgresql orm sequelize.js


    【解决方案1】:

    尝试使用:

    $like: { $any: ['cat', 'hat']} // LIKE ANY ARRAY['cat', 'hat'] - also works for iLike and notLike
    

    来自docs

    【讨论】:

      猜你喜欢
      • 2018-09-14
      • 1970-01-01
      • 2016-10-07
      • 2012-09-06
      • 1970-01-01
      • 2018-10-01
      • 2021-05-16
      • 2015-03-09
      • 1970-01-01
      相关资源
      最近更新 更多