将 JSON 对象插入 JSON 数组列

问题描述 投票:0回答:1

我正在开发一个小项目来学习 Supabase 和 NextJS。我正在尝试将一个 JSON 对象添加到我的

sites
数组中,该数组定义为 JSON 数组。我想根据从 auth() 返回的用户 ID 将配置(以及将来的更多配置)添加到站点列。

这是我能想到的,但我不断收到此错误:

message: expected JSON array
。我尝试用括号包裹对象来创建数组,但这也不起作用。

const { data, error } = await supabase
  .from("users")
  .insert({
    sites: {...}) // config object
  .eq("id", user?.id);

我根据 Supabase 文档尝试了不同的

Filters
,但没有任何效果。从我搜索到的内容来看,似乎没有明确的方法来使用 JSON 更新数组,但我对 PostgreSQL 数据库也很陌生。

arrays json postgresql supabase supabase-js
1个回答
0
投票

我能够通过以下方法解决:

const { data, error } = await supabase
  .from("users")
  .update({
    sites: [
      ...stateUser.sites, // previous JSON objects
      testConfig(timestampWithTimeZone, stateUser?.sites), // new JSON object
    ],
  })
  .eq("id", stateUser?.id)
  .select();

希望这能帮助其他人!

© www.soinside.com 2019 - 2024. All rights reserved.