2016-02-12 74 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