Schema @connection 到一个特殊字段

Schema @connection to a special field

我想将 table 中的配置分配给响应。 答案的 ID 不在配置中。在答案中有一个名为 exam_id 的字段,这个 exam_id 是配置的 ID

我有:

type Answer @model {
  id: ID!
  exam_id: String!
  user: User! @connection(name: "Answers")
  cycle: Int
  user_input: AWSJSON
  aivy_output: AWSJSON
  final_scores: AWSJSON
  score: Int
  rating: Int
  createdAt: String
  updatedAt: String
}

type ExamConfig @model { 
  id: ID!
  item_count: Int
  zscore_mean: AWSJSON
  zscore_deviation: AWSJSON
}

我想要什么:

type Answer @model {
  id: ID!
  exam_id: String! // = TOWER_OF_LONDON
  config: ExamConfig @connection  //BUT it have to be exam_id == ID from Config
  user: User! @connection(name: "Answers")
  cycle: Int
  user_input: AWSJSON
  aivy_output: AWSJSON
  final_scores: AWSJSON
  score: Int
  rating: Int
  createdAt: String
  updatedAt: String
}

type ExamConfig @model { 
  **** id: ID! // = TOWER_OF_LONDON
  item_count: Int
  zscore_mean: AWSJSON
  zscore_deviation: AWSJSON
}

当我请求答案时,我想要响应中的配置。 所以对于每个 exam_id 都是配置 Table.

中的一个特殊配置行

您可以使用连接注释的 keyField 来分配它将使用的特定字段。如果您使用的是 Amplify,这是按照此处所述完成的:https://aws-amplify.github.io/docs/cli/graphql#connection

您的配置声明可能类似于:

config: ExamConfig @connection(name: "ExamConfigs" keyField: "exam_id")

希望对您有所帮助。