获取数据: select()
用SELECT执行垂直过滤.
const { data, error } = await supabase
.from('cities')
.select()
参数
-
columns required
string
要检索的列,用逗号分隔. -
已命名的参数 required
object
-
head required
boolean
当设置为真时,选择将使数据无效. -
count required
null
|exact
|planned
|estimated
用于对表中的行进行计数的计数算法
属性
提示
- 默认情况下,Supabase 项目将返回最多 1,000 行。此设置可以更改项目 API 设置。建议您将其保持在较低水平以限制意外或恶意请求的负载大小。您可以使用range()查询对数据进行分页。
select()
可以和 Modifiers 搭配使用select()
可以和 Filters 搭配使用
例子
获取您的数据
const { data, error } = await supabase .from('cities') .select()
选择特定的列
您可以从表格中选择特定字段.
const { data, error } = await supabase .from('cities') .select('name')
查询外部表
如果您的数据库表有关联,也可以查询其相关联的表
const { data, error } = await supabase .from('countries') .select(` name, cities ( name ) `)
多次查询同一个外部表
有时您需要查询同一个外部表两次。在这种情况下,您可以使用连接列的名称来确定您打算使用哪个连接。为方便起见,您还可以为每一列指定别名。例如,如果我们有一个产品商店,并且我们想同时获取供应商和购买者(都在用户表中)::
const { data, error } = await supabase .from('products') .select(` id, supplier:supplier_id ( name ), purchaser:purchaser_id ( name ) `)
使用 count 选项查询
您可以使用 count 选项获取行数。 计数选项的允许值为
null
, exact, planned 和 estimated.const { data, error, count } = await supabase .from('cities') .select('name', { count: 'exact' }) // if you don't want to return any rows, you can use { count: 'exact', head: true }
查询json数据
如果 JSONB 列中有数据,则可以对数据值应用选择和查询过滤器。Postgres 提供了许多 用于查询 JSON 数据的运算符. 另请参阅 PostgREST 文档以获取更多详细信息。
const { data, error } = await supabase .from('users') .select(` id, name, address->street `) .eq('address->postcode', 90210)
以 CSV 格式返回数据
默认情况下,数据以 JSON 格式返回,但您也可以请求将其作为逗号分隔值返回。
const { data, error } = await supabase .from('users') .select() .csv()
-