我想在 Supabase 中检索行数。
我猜它会是这样的:
const { data, error } = await supabase
.from('cities')
.select('name', 'COUNT(*)')
Run Code Online (Sandbox Code Playgroud)
Supabase 可以做到这一点吗?
我想except在 supabase 中创建此查询,但在day列中使用参数。例如:
CREATE VIEW employees_without_registering AS
SELECT employees.id
FROM employees
EXCEPT
SELECT "idEmployee" FROM registers WHERE "day"='2021-07-25'
Run Code Online (Sandbox Code Playgroud)
我尝试的是在查询编辑器中创建一个视图,然后尝试使用如下内容访问结果:
await supabase.from('employees_without_registering')
.select('*');
Run Code Online (Sandbox Code Playgroud)
但结果仅限于该查询。我想根据我的选择改变这一天。
也许我的方法不好,可以通过使用supabase api的另一种方法来解决这个问题,但我想听听有关如何解决这个问题的建议。
我正在尝试构建一个使用 Supabase 身份验证的 Vue 应用程序。在路由器文件中的一个路由防护中,我实现了一个supabase.auth.getUser()条件,以检索用户登录状态,该条件阻止next()在用户经过身份验证之前执行:
// Route guard for auth routes
router.beforeEach((to, from, next) => {
// const user = supabase.auth.user();
const { data: { user } } = await supabase.auth.getUser();
if (to.matched.some((res) => res.meta.auth)) {
if (user) {
next();
return;
}
next({ name: "Login" });
return;
}
next();
});
Run Code Online (Sandbox Code Playgroud)
但是,当我supabase.auth.getUser()在路由器防护内部实现时,我在登录之前在控制台中收到以下错误:“无效声明:缺少子声明”。登录后,错误消失。如果我从路由保护中删除supabase.auth.getUser条件,错误也会消失。经过一些额外的在线挖掘并在 jwt.io 中运行我的 Supabase 匿名密钥后,我的密钥似乎在有效负载中缺少子声明。如果这导致密钥无法正确验证,我该如何解决?
我有多个 Supabase 边缘功能,希望在投入生产时同时部署。这些是我的文件夹中的所有功能.supabase/functions,即:
.supabase
functions
my_function_1
index.ts
my_function_2
index.ts
...
Run Code Online (Sandbox Code Playgroud)
Supabase CLI 文档解释了如何使用 部署单个函数supabase functions deploy <Function name> [flags],但似乎没有提及将所有函数一起部署。
我是否必须为每个函数运行一次部署命令?例如:
supabase functions deploy my_function_1 && supabase functions deploy my_function_2
Run Code Online (Sandbox Code Playgroud)
或者有更简单的方法吗?
我尝试简单地运行supabase functions deploy,但收到此错误,表明我需要将函数名称作为参数传递:
Error: accepts 1 arg(s), received 0
Usage:
supabase functions deploy <Function name> [flags]
Run Code Online (Sandbox Code Playgroud)
等价的 firebase 函数是firebase deploy --only functions(文档)
我试图在服务器端获取当前登录的 supabase 用户。
我尝试过使用const user = supabase.auth.user();,但总是得到null回应。
我也尝试过const user = supabase.auth.getUserByCookie(req),但它也返回null。我想是因为从钩子调用它时我没有向 api 发送 cookie。
我尝试将user.id钩子传递到 api,但 api 没有接收参数。
我也尝试过这种方法,但从未获取令牌。req.cookies 中似乎不存在。
let supabase = createClient(supabaseUrl, supabaseKey);
let token = req.cookies['sb:token'];
if (!token) {
return
}
let authRequestResult = await fetch(`${supabaseUrl}/auth/v1/user`, {
headers: {
'Authorization': `Bearer ${token}`,
'APIKey': supabaseKey
}
});
`
Run Code Online (Sandbox Code Playgroud)
有谁知道如何在服务器端代码中获取当前登录的用户?
我有三张桌子
| 旅程 |
|---|
| ID |
| 用户身份 |
| ... |
| 部分 |
|---|
| ID |
| 旅程_id |
| ... |
| 停止 |
|---|
| ID |
| 节号 |
| ... |
我想使用行级安全性来确保用户只能插入 astop如果与via -> ->引用的the 相uid()匹配。user_idjourneystopstops.section_idsections.journey_idjourneys.user_id
换句话说,用户应该只能设置stops.section_id为a section,从而设置为journey属于他的a。
如何在 Supabase 中通过行级安全连接实现此目的?
我的网站希望减少用户可以对图像执行的操作...因此为了增加安全性,我们希望将图像源保留为 base64 字符串而不是 supabase 存储 URL。这可以通过supabase存储实现吗?我是否必须将字符串保存在数据库中?
是否可以将数据导入到supabase的表中?
例如,如果我有 csv 文件或 json 文件——我可以通过 supabase 后端将该数据导入到表中吗?
我正在尝试构建一个包含 Supabase 身份验证的 Vue.js 应用程序。我希望在注册时使用内置的 Supabase signUp() 方法来处理其他用户数据。为此,我向 SignUp 对象添加了一个属性,用于存储其他用户数据以及电子邮件和密码:
let { data, error } = await supabase.auth.signUp({
email: 'someone@email.com',
password: 'QQlbOIyZuwutISUzceOz',
data: { isVendor: true }
})
Run Code Online (Sandbox Code Playgroud)
但是,当我在创建用户后运行 console.log 时,我没有看到添加到用户对象中的其他数据属性。
user_metadata我还尝试将数据分配给用户对象中的现有属性,如下所示:
let { data, error } = await supabase.auth.signUp({
email: 'someone@email.com',
password: 'QQlbOIyZuwutISUzceOz',
user_metadata: { isVendor: true }
})
Run Code Online (Sandbox Code Playgroud)
然而,这也没有奏效。如何配置 signUp() 方法(或者可能是 Supabase 仪表板中的注册用户门户)来存储其他用户数据?
我在我的 supabase 数据库中创建了一个名为的表customer。使用生成我的类型
npx supabase gen types typescript --project-id "$PROJECT_REF" --schema public > types/supabase.ts
Run Code Online (Sandbox Code Playgroud)
在我的 React 应用程序中,这就是我引用生成类型的方式。
const [customerDetails, setCustomerDetails] = useState<Database["public"]["Tables"]["customer"]["Row"]>()
Run Code Online (Sandbox Code Playgroud)
能不能再干净一点,像这样?
const [customerDetails, setCustomerDetails] = useState<customer>()
Run Code Online (Sandbox Code Playgroud) supabase ×10
javascript ×2
vue.js ×2
next.js ×1
postgresql ×1
supabase-js ×1
types ×1
typescript ×1
vuejs3 ×1