跳轉到主要內容

安裝

Find the anon key with npx @insforge/cli secrets get ANON_KEY, or in the dashboard: click Install and open API Keys.

insert()

將新記錄插入表格中。

參數

  • values (object | Array, required) - 要插入的資料。單個物件或陣列用於批量插入
  • options.count (‘exact’ | ‘planned’ | ‘estimated’, optional) - 包含插入的列數

傳回

.insert() 後鏈接 .select() 以傳回插入的資料

範例

輸出範例


update()

更新表格中的現有記錄。必須使用篩選器來定位特定列。

參數

  • values (object, required) - 要更新的欄位
  • options.count (‘exact’ | ‘planned’ | ‘estimated’, optional) - 包含更新的列數

傳回

一律使用篩選器(如 .eq().in())來指定要更新的列

範例

輸出範例


delete()

從表格中刪除記錄。必須使用篩選器來定位特定列。

參數

  • options.count (‘exact’ | ‘planned’ | ‘estimated’, optional) - 包含刪除的列數

傳回

一律使用篩選器來指定要刪除的列

範例

輸出範例


select()

從表格或檢視中查詢記錄。

參數

  • columns (string, optional) - 逗號分隔的欄位名稱。使用 * 表示所有欄位
  • options.count (‘exact’ | ‘planned’ | ‘estimated’, optional) - 包含總列數
  • options.head (boolean, optional) - 僅傳回計數,不傳回資料

傳回

範例

輸出範例


rpc()

呼叫 PostgreSQL 預存函式(RPC - 遠端程序呼叫)。

參數

  • functionName (string, required) - 要呼叫的 PostgreSQL 函數的名稱
  • args (object, optional) - 傳遞給函數的引數

傳回

範例


篩選器

鏈接篩選器以縮小查詢結果範圍。所有篩選器採用 (column, value) 作為參數。
篩選器描述範例
.eq(column, value)等於.eq('status', 'active')
.neq(column, value)不等於.neq('status', 'banned')
.gt(column, value)大於.gt('age', 18)
.gte(column, value)大於或等於.gte('price', 100)
.lt(column, value)小於.lt('stock', 10)
.lte(column, value)小於或等於.lte('priority', 3)
.like(column, pattern)區分大小寫的模式(使用 % 萬用字元).like('name', '%Widget%')
.ilike(column, pattern)不區分大小寫的模式(使用 % 萬用字元).ilike('email', '%@gmail.com')
.in(column, array)值在陣列中.in('status', ['pending', 'active'])
.is(column, value)完全等於(用於 null 檢查).is('deleted_at', null)

修飾元

控制查詢結果的傳回方式。
修飾元描述範例
.order(column, options)排序結果。選項:{ ascending: true/false, nullsFirst: true/false }.order('created_at', { ascending: false })
.limit(count)限制列數.limit(10)
.range(from, to)取得索引之間的列(分頁).range(0, 9)
.single()傳回物件而不是陣列(如果有多個則擲回).single()
.maybeSingle()傳回物件或 null(無錯誤).maybeSingle()

常見模式

帶計數的分頁

輸出:

篩選搜尋

輸出:

與身分驗證掛勾結合使用

結合資料庫查詢與 useUser()useAuth() 掛勾來取得使用者特定的資料:
關鍵要點:
  • 使用 user.id 為已認證使用者篩選資料
  • 在存取 user 之前檢查 isLoaded 以避免競狀
  • 檢查 !user 以處理未認證狀態