在Hasura中創建陣列
Hasura 是我構建應用程序託管GraphQL API 最喜歡的工具之一,它簡單易用,適用於各種用例。然而,自從使用Hasura 以來,我反复遇到同一個問題:如何創建數組?由於行類型的下拉菜單中沒有提供數組和映射,最佳方法是什麼?
實際上,Hasura 可以通過幾種不同的方式來實現數組的概念,以下是幾種方法的細分。我個人最喜歡的是最後一種方法JSONB,但我們會逐步介紹其他方法,以防您想嘗試其他方法,因為每種方法都有略微不同的優勢。
方法一:手動創建字面量數組
Hasura 沒有提供“數組”作為類型,但我們可以通過選擇“文本”並在末尾添加方括號來創建字符串數組,如下所示:
我們會得到text[],並會提示我們通過以下兩種方式之一創建數組:
<code>["one", "two"] // 或{"one", "two"}</code>
方法二:創建關係
我們還可以與另一個包含一系列文本元素的表創建關係。為此,創建一個具有文本類型的行。
我們還將通過側邊欄中的“添加表”按鈕創建一個新表,並創建一個非常簡單的行,其中包含我們需要的類型(文本、整數或任何必要的數據)的唯一鍵。
現在,點擊“關係”選項卡。在表中,選擇“數組關係”選項,為其命名,並引用剛剛創建的原始表。
第一個表的ID 應該與我們剛剛創建的第二個表的ID 存在關係。
保存後,您應該在同一關係選項卡的表中看到反映的數組關係,箭頭表示關係的方向。
<code>users.gameId → favoriteGames.id</code>
現在,我們可以在“ GraphiQL ”選項卡中查找數組:
方法三: JSONB
以下是我在Hasura 中創建數組最喜歡的方法之一。我喜歡它,因為它性能非常好。我們可以使用“JSONB”類型,並從下拉菜單中選擇JSONB 來創建數組。然後,我們會像text[] 選項一樣收到提示:
填寫完畢後,它將如下所示:
從那裡,我們不僅可以像上面那樣將數組添加到您的查詢中,還可以通過多個索引按標籤搜索,並且它們的GraphiQL 選項卡使探索變得容易。查看我按包含“動畫”的內容過濾標籤時的情況:
<code>query MyQuery { codesamples(where: {tags: {_contains: "animation"}}) { userId name id } }</code>
但是,這樣的查找並非開箱即用就一定高效,尤其是在數據量很大的情況下。幸運的是,我們可以定義要索引的字段。從頂部的“數據”選項卡中,選擇側面板中的“SQL”組,在該區域中,我們可以定義要索引的字段,以便保持高效的查找。在這個例子中,我們將為“tags”字段創建一個索引:
<code>create index codesample_gin on codesamples using gin(tags)</code>
這將運行查詢並索引此查找,使其在將來更高效。
總結
Hasura 提供了絕佳的開發人員體驗,可以設置快速且易於使用的GraphQL API。對於那些有興趣使用Hasura 設置數組的人,我希望本文對您有所幫助。
感謝Hasura 的Adron Hall 校對這篇文章。
以上是在Hasura中創建陣列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)
