Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphql 在放大图ql中添加多对多连接_Graphql_Many To Many_Aws Amplify - Fatal编程技术网

Graphql 在放大图ql中添加多对多连接

Graphql 在放大图ql中添加多对多连接,graphql,many-to-many,aws-amplify,Graphql,Many To Many,Aws Amplify,我有一个耗时的问题,不知道我可以测试更多。 这是工作,但我需要在招聘人员的职位阵列。但是,我有一个多对多的连接,没有任何工作了。有什么好办法解决这个问题吗? 这是我的密码: type Position @model @auth(rules: []) { id: ID! title: String! candidates: [Candidate]! @connection(name: "PositionCandidates") interestedRecruit

我有一个耗时的问题,不知道我可以测试更多。 这是工作,但我需要在招聘人员的职位阵列。但是,我有一个多对多的连接,没有任何工作了。有什么好办法解决这个问题吗? 这是我的密码:

type Position @model @auth(rules: []) {
  id: ID!
  title: String!
  candidates: [Candidate]! @connection(name: "PositionCandidates")
  interestedRecruiters: [Recruiter]! @connection(name: "PositionRecruiter")
}
type Candidate @model @auth(rules: []) {
  id: ID!
  firstname: String!
  lastname: String!
  email: AWSEmail!
  birthday: AWSDate!
  position: Position! @connection(name: "PositionCandidates")
}
type Recruiter @model @auth(rules: []) {
  id: ID!
  firstname: String!
  lastname: String!
  email: AWSEmail!
  birthday: AWSDate!
  positions: Position! @connection(name: "PositionRecruiter")
}

谢谢

要使用amplify/app sync处理多对多连接,您必须创建一个“连接”表(类型)。您可以将联接表视为存储连接的表

从你的例子中,我没有完全理解你想要的结果是什么,因此我将尝试用另一个例子来解释:

假设您有一个系统,其中多个用户可以是一个文档的创建者,一个用户也可以是多个文档的创建者之一。要实现这一点,您必须创建三个dynamoDb表(模式中有三种类型)

然后有一个包含所有用户的表,一个包含所有文档的表,以及一个包含用户和文档之间所有连接的表

假设您有一个用户正在创建一个新文档。然后,首先创建文档,然后在创建文档并从appsync接收到具有文档新id的文档后,必须在UserDocument表中创建一个新对象,其中包含用户id和文档id。然后,还可以通过向UserDocument表添加更多项,在文档上添加更多用户


我希望这将帮助您找到正确的前进方向。

您是否有一个解决方案可以将放大身份验证保护添加到上述模式中?我已经在这方面工作了一段时间,但似乎没有弄明白,相反,我正在使用自定义角色的对象,但它很脏,我不太喜欢它。
type User @model {
  id: ID!
  name: String
  documents: [UserDocument] @connection(name: "UserDocumentConnection")
}

type Document @model {
   id: ID!
   title: String
   content: String
   users: [UserDocument] @connection(name: "DocumentUserConnection")
}

type UserDocument @model {
   id: ID!
   user: User @connection(name: "UserDocumentConnection")
   document: Document @connection(name: "DocumentUserConnection")
}