目錄
方法二:創建關係
總結
首頁 web前端 css教學 在Hasura中創建陣列

在Hasura中創建陣列

Mar 31, 2025 pm 02:12 PM

Creating Arrays in 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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1669
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
靜態表單提供商的比較 靜態表單提供商的比較 Apr 16, 2025 am 11:20 AM

讓我們嘗試在這裡造成一個術語:“靜態表單提供商”。你帶上html

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom 每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom Apr 17, 2025 am 10:55 AM

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

帶有HTML對話框元素的一些動手 帶有HTML對話框元素的一些動手 Apr 16, 2025 am 11:33 AM

這是我第一次查看HTML元素。我已經意識到了一段時間,但是尚未將其旋轉。它很酷,

紙張形式 紙張形式 Apr 16, 2025 am 11:24 AM

購買或建造是技術的經典辯論。自己構建東西可能會感覺更便宜,因為您的信用卡賬單上沒有訂單項,但是

'訂閱播客”鏈接應在哪裡? '訂閱播客”鏈接應在哪裡? Apr 16, 2025 pm 12:04 PM

有一段時間,iTunes是播客中的大狗,因此,如果您將“訂閱播客”鏈接到喜歡:

託管您自己的非JavaScript分析的選項 託管您自己的非JavaScript分析的選項 Apr 15, 2025 am 11:09 AM

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

See all articles