2017-08-26 69 views
0

那麼,我一直在使用Relay,我意識到我仍然不確定使用Relay,Graphql,React和Dynamodb的一些基本方面。中繼是否需要數據庫中的id字段?

將Dynamodb用作數據庫並且Dynamodb不鼓勵使用uuids作爲標識符。與此同時,中繼Nodedefinitions函數期望輸出一個類型和id字段的對象,所以我的問題是,您是否可以調和Relay和Dynamodb的最佳實踐?

還是隻是我誰不明白?

回答

0

Relay對您的數據庫沒有任何要求。你可以使用你想要的Dynamo中的任何一種主鍵。

你有兩個功能結束:

  1. f(relayId) -> dynamoEntity
  2. g(dynamoEntity) -> relayId

這些功能可以實現,只要你喜歡。例如。也許你可以對Dynamo主鍵進行64位編碼以產生一箇中繼ID。

+0

如果我導出的中繼節點對象像: '出口常量{nodeInterface,nodeField} = nodeDefinitions(idResol版本,typeResolver);' 和idResolver函數具有中繼'fromGlobalId'這樣'常量{類型,識別符} = fromGlobalId(globalId);',我是否應該將id更改爲一個接收relayId的函數,如'const {type,f(relayId)} = fromGlobalId(globalId);' –