Sequelize:在PostgreSQL上使用$ like和JSON数据类型

时间:2016-02-12 12:47:38

标签: postgresql orm sequelize.js

我在PostgreSQL中使用Sequelize

我需要构建一个可以在JSON数据类型上使用var Sequelize = require('sequelize'); var sequelize = new Sequelize('database', 'username', 'password'); var Project = sequelize.define('project', { name: Sequelize.STRING, details: { type: Sequelize.JSON, defaultValue: {} }, }); 运算符的destroy查询。

例如,让我们采用这个模型定义:

Project.destroy({
  where: {
    details: {
      $like: '{}'
    }
  }
})

现在,我希望能够运行查询来销毁所有没有任何细节的项目条目:

[SequelizeDatabaseError: operator does not exist: json ~~ unknown]

但是我收到了这个错误:

from string import letters, digits, lowercase
from random import choice


def random_string(n):
    return ''.join([choice(digits + letters) for i in range(n)])


print random_string(15)

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

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用:

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

来自docs