我是使用 GraphQL 放大的新手。我正在设置我的数据库模式并在运行放大推送后自动生成函数。
我想实现但不知道如何实现的目标
- 我希望能够从 getUser 返回的对象中获取具有所有连接信息(具有一对一和一对多关系)的用户
- 我希望仍然能够获取 userByUserName 并查看所有连接的一对多关系
调用API生成函数获取用户时,
let user = await API.graphql(graphqlOperation(getUser,{id:userId}))
我得到了一个用户对象,但是,它看起来像这样——尽管我确信数据库中的数据设置正确。
buttons: {nextToken: null} -- WANT THIS TO INCLUDE ACTUAL INFORMATION ABOUT BUTTONS CONNECTED TO THIS USER
createdAt: "2020-09-02T23:41:12.278Z"
customStyles: {id: "e3d1bbef-ec6f-4a6d-9b5d-e693e890d4e0", bgColor: "F9FF9F", bgBtnColor: "FFFFFF", bgBtnHoverColor: "000000", textColor: "000000", …}
defaultStyles: null
email: "nata@email.edu"
firstName: "Nata"
id: "d683a6bb-383e-4cf1-943a-05b3da4e5cc3"
lastName: "Vache"
socialNetwork: {nextToken: null} -- WANT THIS TO INCLUDE ACTUAL INFORMATION ABOUT SOCIAL NETWORKS CONNECTED TO THIS USER, THE SAME WAY AS FOR EXAMPLE customStyles IS SHOWN.
updatedAt: "2020-09-02T23:41:12.278Z"
userName: "Nata568"
type User @model @key(name: "byUserName", fields: ["userName"], queryField: "userByUserName"){
id: ID!
firstName: String!
lastName: String!
userName: String!
email: String!
socialNetwork: [UserSocialNetwork] @connection(keyName: "UserSocialNetworkUser", fields: ["id"])
buttons: [Button] @connection(keyName: "ButtonUser", fields: ["id"])
defaultStyles: DefaultStyle @connection
customStyles: CustomStyle @connection
}
type UserSocialNetwork @model @key(name: "UserSocialNetworkUser", fields: ["userID", "id"], queryField:"userSocialNetworkByUserID") {
id: ID!
socialNetworkUsername: String!
userID: ID!
supportedSocialNetwork: SupportedSocialNetwork! @connection
}
type SupportedSocialNetwork @model {
id: ID!
name: String!
address: String!
}
type Button @model @key(name: "ButtonUser", fields: ["userID", "id"], queryField: "buttonByUserID") {
id: ID!
name: String!
address: String!
image: String
userID: ID!
}
这个模式不包括我所有的模型定义——customStyles、defaultStyles 和其余的,但它们是一对一的关系,工作得很好。我遇到了一对多关系的问题,例如用户到 UserSocialNetwork 和用户到按钮。
我在 AWS Amplify Docs 上阅读了很多关于此的资源,浏览了一些示例,但仍然没有找到任何可以让我从 getUser 调用上的连接中获取信息并让我能够获得按用户名的用户。任何输入将不胜感激!!!