我正在开发一个小项目来学习 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 数据库也很陌生。
我能够通过以下方法解决:
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();
希望这能帮助其他人!