【问题标题】:Supabase: how to query users by eMail?Supabase:如何通过电子邮件查询用户?
【发布时间】:2021-09-20 20:22:33
【问题描述】:

我在 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表。

我做错了什么?如何通过给定的电子邮件查询用户 ID?

谁能把我推向正确的方向?

谢谢,

尼可

【问题讨论】:

    标签: node.js postgresql supabase


    【解决方案1】:

    自己找到了解决办法:

    您不能直接查询 auth.users 表。相反,您必须使用您以后要使用的数据创建一个副本(例如 public.users 或 public.profile 等)。

    您可以在创建用户后立即使用用户触发器自动创建 public.users 表的条目。

    我在我的博文中写下了一些代码示例和详细信息:Supabase: How to query users table?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      • 2016-09-16
      • 2018-09-11
      • 1970-01-01
      相关资源
      最近更新 更多