【问题标题】:Supabase JSON query JavaScriptSupabase JSON 查询 JavaScript
【发布时间】:2021-09-25 02:11:45
【问题描述】:

我正在尝试从包含 JSONB 对象数组的表中获取单个条目。我可以以某种方式匹配该数组以找到所需的结果吗?

[
    {
        "chats": [
            {
                "id":  56789,
            },
            {
                "id":  66753,
            },
        ],
        "id": 999
    },  
    {
        "chats": [
            {
                "id":  43532,
            }
        ],
        "id": 999
    }
]

我想获取与 id 999 匹配并包含在 chats -> id: 66753 中的对象

尝试了几种方法,但都没有奏效。

我虽然有些链接这会起作用。但没有成功

let { data, error } = await supabase
  .from('xyz')
  .select('*')
  .eq('id', 999)
  .contains('chats', {id: 66753})

可以吗?

【问题讨论】:

    标签: javascript node.js supabase


    【解决方案1】:

    我是一名新程序员,所以下面的代码可能不正确,但我相信您在从 supabase 查询 JSONB 数据时需要使用 -> 或 ->> 运算符,如文档中的 here 所述。

    因此,如果您的包含对象数组的列的标题为 jsonb,则效果如下:

      let { data, error } = await supabase
          .from('xyz')
          .select('*')
          .eq('id:jsonb->>id', 999)
          .contains('chats:jsonb->>chats', ['chats->id: 66753'])
    

    更多信息可以在 PostgREST 文档here找到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-21
      • 1970-01-01
      • 2022-12-17
      • 2021-03-07
      • 2021-09-20
      • 2022-11-14
      • 1970-01-01
      • 2023-02-23
      相关资源
      最近更新 更多