问题描述
我在 Node JS 中间件中使用 Supabase。我正在开发一个邀请功能,该功能通过 REST 端点接收现有 supabase 用户的电子邮件地址。现在它应该查询用户表以获取用户 ID。但这似乎不起作用:
(我使用 Supabase JavaScript 库和绕过行级安全的管理密钥):
const { createClient,} = require('@supabase/supabase-js')
const supabase = createClient(process.env.SUPABASE_URL,process.env.SUPABASE_KEY)
supabase
.from('users')
.select('id')
.eq('email','doe@example.com')
.then(response => {
console.log(response)
})
我收到此错误:
'关系“public.users”不存在'
supabase
.from('users')
.select('id')
.eq('email','doe@example.com')
.then(response => {
console.log(response)
})
但这也失败了。好像不能查询users表。
谁能把我推向正确的方向?
谢谢,
尼可
解决方法
自己找到了解决方案:
您不能直接查询 auth.users 表。相反,您必须使用稍后要使用的数据创建副本(例如 public.users 或 public.profile 等)。
您可以使用用户触发器在创建用户后自动在 public.users 表中创建一个条目。
我在我的博文中写下了一些代码示例和详细信息:Supabase: How to query users table?