【发布时间】:2018-12-05 05:41:41
【问题描述】:
我的 Postgres dB 表的 users 表中有一个名为 email_subscription_prefs 的列,它以 JSON 格式存储一些信息。它的 array_length 为 1。
样本数据:
[{"marketing":true,"transactional":true,"collaboration":true,"legal":true,"account":true}]
问题:
我正在尝试使用 bookshelf.js ORM 根据 marketing 键的值来查询和搜索此表中的所有记录,特别是当它的值为 true 时。
这是我的代码编辑后的 sn-p,显示了我正在尝试使用 bookshelf.js 实现此查询:
return new User()
qb.where(function() {
this.where('domicile', 'USA').orWhere('domicile', null)
})
qb.whereRaw('cast(email_subscription_prefs->>? as boolean) = ?', ['marketing', true])
qb.limit(100)
})
有人可以告诉我我在 qb.whereRaw 语句中做错了什么,我试图在其中查询 JSON 列 email_subscription_prefs?
如果users 表中有数千条记录,则代码不返回任何内容。
提前致谢。
【问题讨论】:
标签: postgresql knex.js bookshelf.js