如何使用 JSON function/operator 查询其中键不为空或为空?
How do I query with JSON function/operator where key is either not null or is null?
我正在寻找以下 sql 代码的活动记录版本:
select *
from users
where (details->'email') is not null
假设我的用户模型有一个名为 details 的 json 字段,一些记录将有一个电子邮件键值,而有些则没有。我正在尝试查询具有电子邮件、键值的用户记录。我尝试使用以下 User.where("details->'email' is not null"),但我的终端打印出这个:
PG::UndefinedFunction: ERROR: operator does not exist: json -> boolean
我发现了这个 SO post,它试图做相反的查询,但想法是一样的。如果有人可以向我展示查询 json 键存在或不存在的 Active Record 版本,我将不胜感激。
这适用于让用户使用电子邮件密钥:
User.where("(details->'email') is not null")
这适用于让没有电子邮件密钥的用户:
User.where("(details->'email') is null")
我正在寻找以下 sql 代码的活动记录版本:
select *
from users
where (details->'email') is not null
假设我的用户模型有一个名为 details 的 json 字段,一些记录将有一个电子邮件键值,而有些则没有。我正在尝试查询具有电子邮件、键值的用户记录。我尝试使用以下 User.where("details->'email' is not null"),但我的终端打印出这个:
PG::UndefinedFunction: ERROR: operator does not exist: json -> boolean
我发现了这个 SO post,它试图做相反的查询,但想法是一样的。如果有人可以向我展示查询 json 键存在或不存在的 Active Record 版本,我将不胜感激。
这适用于让用户使用电子邮件密钥:
User.where("(details->'email') is not null")
这适用于让没有电子邮件密钥的用户:
User.where("(details->'email') is null")