SQLAlchemy在PostgreSQL JSONB中过滤嵌套的JSON数据

ghhaqwfi  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(119)

我将嵌套JSON存储为jsonb,但我不知道如何选择具有不确定值的嵌套JSON。
例如:

{
    "facebook": {
        "openid": "123456789",
        "access_token": "6EFD26B0A868E3BB387E78851E42943F"
    }
}

字符集
我知道openid的值,但access_token不确定。
我尝试了以下方法,但它产生了一个错误。

cls.query.filter(User.auth["facebook"]["openid"].astext == openid).first()

px9o7tmv

px9o7tmv1#

使用这种方法来过滤嵌套的jsonb列:

user = session.query(User) \
    .filter(text("CAST(auth->'facebook'->>'openid' AS TEXT) = :openid")) \
    .params(openid=openid) \
    .first()

字符集

相关问题