2016-02-12 76 views
0

我使用Sequelize和PostgreSQL。

我需要建立一个销毁查询,可以在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] 

那么,有没有办法做到这一点,怎么样?

谢谢!

回答

0

尝试使用:

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

docs