簡體   English   中英

自定義graphql查詢

[英]Custom graphql query

我有兩個 graphql 查詢,它們返回 field1、field2 或 field1 和 field2。 我還有一個布爾標志 field1 和 field2。 你能幫我寫一個函數來生成三個 qraphql 查詢之一:

gql
    query  {
        employee {
            name
        }
    };


gql
    query  {
        employee {
            surname
        }
    };


gql
    query  {
        employee {
            name
            surname
        }
    }


function Form () {
...
    const { data } = useQuery(
        GET_NAME // query 
    );

    const onClick = () => {

    ....
    return textInput.current!.value=data.me.name;

將執行查詢(可能通過useQuery )並返回可能的字符串之一:

name
surname
name + surname

例如:

如果我檢查名稱,函數將生成並執行查詢

query  {
    employee {
        name
    }
};

並將返回值 - 約翰

如果我檢查姓氏,該函數將生成並執行查詢

query  {
    employee {
        surname
    }
};

並將返回值 - Connor

如果我檢查名字和姓氏

 query  {
        employee {
            name
            surname
        }
    };

並將返回約翰康納。

它和 SQL 查詢一樣嗎?

詳細說明:假設我服務器上只有一個對象{name: John, surname: Connor},沒有id等字段。 當我調用 onClick 函數時,客戶端應用程序只需要生成和執行一個查詢。 你能幫忙做嗎?

例如,如果我使用 SQL DB,我可以連接 String 查詢 const q = select ${field} from employee

其中字段可以等於“姓名”,“姓氏”或“姓名,姓氏”並生成查詢“從員工中選擇姓名”“從員工中選擇姓氏”“從員工中選擇姓名,姓氏”

此查詢將返回“John”、“Connor”或“John Connor”。 graphql 是否可以通過串聯或插值生成查詢?

graphql 是否可以通過串聯或插值生成查詢? 簡單的答案是否定的。

但是,如果與其他工具(例如使用mongoose 的 mongoDb 的 graphql-mongodb-projection和使用 Sequalize.js 的graphql-sequelize 結合使用,則可以完成)。

根據您使用的數據庫和服務器,您將需要一些像上面提到的工具來將必填字段傳遞給 ORM

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM