ruby-on-rails - 在嵌套的 Postgresql JSONB 列中搜索
问题描述
如何在 Rails 的嵌套 jsonb 列中进行搜索。
Model: Shop
jsonb column: shop_data
shop_data: {
common_data: {
"image_url" => "https://sample.com/img.jpg"
"token" => "AOsa2123ASDasdaasasda"
"uid" => ""
"expires_at" => ""
}
}
想要制作一个检查记录的范围:
1. shop_data->common_data->expires_at IS NOT NULL
2. shop_data->common_data->image_url IS NULL
解决方案
1. scope :expired, -> { where("shop_data -> 'common_data' ->> 'expires_at' IS NOT NULL") }
2. scope :null_image, -> { where("shop_data -> 'common_data' ->> 'image_url' IS NULL") }
postgres 中的源JSON 函数
希望能帮助到你
推荐阅读
- python - 使用 python:如何将给定的 UT 时间转换为 LST 时间,以便函数在 24 小时检查后自动递增
- filesystems - ext4 文件系统如何将目录条目结构从线性更改为 Htree?
- docker - from builtins import bytes # pylint: disable=redefined-builtin ImportError: No module named builtins
- javascript - 数据库中复选框中的“打印”值
- matlab - 特定范围内的曲线循环伏安法下面积
- android - 在哪里/如何存储敏感信息?
- jquery - 在django中用jquery实时更新模板可以吗?
- c# - 以编程方式创建测试
- amazon-web-services - 使用 aws Autoscaling 组直接附加应用程序负载均衡器/网络负载均衡器
- cookies - Cookies不会一直删除角度7