gpt4 book ai didi

postgresql - 如何查询 JSON 元素

转载 作者:IT老高 更新时间:2023-10-28 12:55:11 26 4
gpt4 key购买 nike

假设我有一个 Postgres 数据库 (9.3),并且有一个名为 Resources 的表。在 Resources 表中,我有字段 id 是 int 和 data 这是 JSON 类型。

假设我在所述表中有以下记录。

  • 1, {'firstname':'Dave', 'lastname':'Gallant'}
  • 2, {'firstname':'John', 'lastname':'Doe'}

我想要做的是编写一个查询,该查询将返回所有记录,其中数据列具有一个 json 元素,其姓氏等于“Doe”

我试着写这样的东西:

records = db_session.query(Resource).filter(Resources.data->>'lastname' == "Doe").all()

然而,Pycharm 在“->>”上给了我一个编译错误

有谁知道我将如何编写过滤子句来满足我的需要?

最佳答案

尝试使用 astext

records = db_session.query(Resource).filter(
Resources.data["lastname"].astext == "Doe"
).all()

请注意,列必须具有 JSONB 类型。常规 JSON 列将不起作用。

关于postgresql - 如何查询 JSON 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29974143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com