使用Active Record在嵌套的多级Postgres JSON类型中搜索。

假设我有下面的json对象

:response_body => {
    "status" => "ok",
    "um" => {
        "a" => "a",
        "b" => {
            "c" => "ok"
        }
    }
}

搜索示例。

LogService.where(response_body: {"status" => "ok"})

解决方案:

如果你使用Postgres作为数据库,并且列真的是json类型,你可以在Rails中使用这样的搜索。

LogService.where("response_body#>>'{status}' = 'ok'")

这个#>>将走过json路径并进行搜索。如果你只使用#>(只有一个>),它将返回剩余的json。

另一个例子,如果你想得到 “c”=> “ok”

LogService.where("response_body#>>'{um, b, c}' = 'ok'")

我想就是这样。

给TA打赏
共{{data.count}}人
人已打赏
未分类

Bootstrap col-6 col-md-4在手机上不起作用。

2022-9-13 14:40:25

未分类

用Pandas从数据库中读取数据时,有什么方法可以排除表名?

2022-9-13 14:40:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索