2016-09-22 77 views
2

假設一個GraphQL架構支持以下查詢:創作GraphQL查詢

{ 
    person(id: String) { 
     locationId 
    } 
} 

{ 
    location(id: String) { 
     country 
    } 
} 

是否有可能找到一個person通過id,然後利用產生的locationid找到自己location通過id(返回與location相對應的country)全部在單個查詢中?或者我會不得不做兩個單獨的查詢?

回答

1

如果這是location上唯一可以從person得到的信息,那麼是的,您需要在不同的請求中執行兩個查詢。

這將是比較正常的GraphQL模式從person展示整個location節點可見(即ID的將間接引用,儘管可能仍然存在),如果一個person可能不止一個location那麼你將沿着locations邊緣前往每個location節點。

3

查詢將如下所示;

{ 
    person(id: string){ 
     location{ 
      country 
     } 
    } 
} 

在你的人的類型,你可以申請一個解析器的location場系統會根據查詢所執行的對人的locationId位置。