Supabase 节点常见问题#
以下是 Supabase 节点 的一些常见错误和问题,以及解决或故障排除的步骤。
按元数据筛选行#
要按 Supabase 元数据 筛选行,请将选择类型设置为字符串。
然后,你可以在筛选器(字符串)参数中构建查询,使用 Supabase 元数据查询语言来筛选元数据,该语言受 MongoDB 选择器 格式启发。使用 Postgres ->>
箭头 JSON 操作符访问元数据属性,格式如下(大括号表示要填入的组件):
1 |
|
例如,要访问元数据中的 age
属性并返回大于或等于 21 的结果,你可以在筛选器(字符串)字段中输入以下内容:
1 |
|
你可以组合这些操作符来构建更复杂的查询。
使用 Docker 时无法连接到本地 Supabase 数据库#
当你在 Docker 中运行 Supabase 时,需要配置网络以便 n8n 可以连接到 Supabase。
解决方案取决于你如何托管这两个组件。
如果只有 Supabase 在 Docker 中#
如果只有 Supabase 在 Docker 中运行,自托管指南 使用的 Docker Compose 文件已经将 Supabase 绑定到正确的接口。
配置 Supabase 凭证 时,localhost
地址应该可以正常工作(将主机设置为 localhost
)。
如果 Supabase 和 n8n 在单独的 Docker 容器中运行#
如果 n8n 和 Supabase 都在 Docker 中的单独容器中运行,你可以使用 Docker 网络来连接它们。
通过在容器内绑定到 0.0.0.0
来配置 Supabase 监听所有接口(官方 Docker compose 配置 已经这样做了)。如果你还没有在同一个 Docker Compose 文件中一起管理它们,请将 Supabase 和 n8n 组件添加到同一个 用户定义的桥接网络 中。
配置 Supabase 凭证 时,使用 Supabase API 网关容器的名称(默认为 supabase-kong
)作为主机地址,而不是 localhost
。例如,如果你使用默认配置,你应该将主机设置为 http://supabase-kong:8000
。
记录可通过 Postgres 访问但无法通过 Supabase 访问#
如果使用 Supabase 节点查询记录返回空结果,但通过 Postgres 节点或 Postgres 客户端可以获取到数据,可能与 Supabase 的行级安全策略 (RLS) 存在冲突。
当你使用表编辑器在公共模式中创建表时,Supabase 总是启用 RLS。当 RLS 处于活动状态时,在你创建策略之前,API 不会使用公共 anon
键返回任何数据。这是一种安全措施,确保你只暴露你打算暴露的数据。
要以 anon
角色访问启用了 RLS 的表中的数据,请创建一个策略以启用你打算使用的访问模式。
🚀 与作者交流

📚 教程 💡 案例 🔧 技巧

⚡ 快答 🎯 定制 🚀 支持