Nat*_*ili 3 amazon-web-services amplifyjs graphql-js aws-amplify graphql-schema
我刚开始将 amplify 与 GraphQL 结合使用。我正在设置数据库模式并在运行放大推送后自动生成函数。
\n我想要实现但不知道如何实现的目标
\n当调用API生成的函数来获取用户时,
\nlet user = await API.graphql(graphqlOperation(getUser,{id:userId}))\n
Run Code Online (Sandbox Code Playgroud)\n我正在获取一个用户对象,但是,它看起来像这样 - 即使我确信数据库中的数据设置正确。
\nbuttons: {nextToken: null} -- WANT THIS TO INCLUDE ACTUAL INFORMATION ABOUT BUTTONS CONNECTED TO THIS USER\ncreatedAt: "2020-09-02T23:41:12.278Z"\ncustomStyles: {id: "e3d1bbef-ec6f-4a6d-9b5d-e693e890d4e0", bgColor: "F9FF9F", bgBtnColor: "FFFFFF", bgBtnHoverColor: "000000", textColor: "000000", \xe2\x80\xa6}\ndefaultStyles: null\nemail: "nata@email.edu"\nfirstName: "Nata"\nid: "d683a6bb-383e-4cf1-943a-05b3da4e5cc3"\nlastName: "Vache"\nsocialNetwork: {nextToken: null} -- WANT THIS TO INCLUDE ACTUAL INFORMATION ABOUT SOCIAL NETWORKS CONNECTED TO THIS USER, THE SAME WAY AS FOR EXAMPLE customStyles IS SHOWN. \nupdatedAt: "2020-09-02T23:41:12.278Z"\nuserName: "Nata568"\n\ntype User @model @key(name: "byUserName", fields: ["userName"], queryField: "userByUserName"){\n id: ID!\n firstName: String!\n lastName: String!\n userName: String!\n email: String!\n socialNetwork: [UserSocialNetwork] @connection(keyName: "UserSocialNetworkUser", fields: ["id"])\n buttons: [Button] @connection(keyName: "ButtonUser", fields: ["id"])\n defaultStyles: DefaultStyle @connection\n customStyles: CustomStyle @connection\n}\n\ntype UserSocialNetwork @model @key(name: "UserSocialNetworkUser", fields: ["userID", "id"], queryField:"userSocialNetworkByUserID") {\n id: ID!\n socialNetworkUsername: String!\n userID: ID!\n supportedSocialNetwork: SupportedSocialNetwork! @connection\n}\n\ntype SupportedSocialNetwork @model {\n id: ID!\n name: String!\n address: String!\n}\n\ntype Button @model @key(name: "ButtonUser", fields: ["userID", "id"], queryField: "buttonByUserID") {\n id: ID!\n name: String!\n address: String!\n image: String\n userID: ID!\n}\n
Run Code Online (Sandbox Code Playgroud)\n该架构不包括我的所有模型定义 - customStyles、defaultStyles 等,但它们是一对一的关系,工作得很好。我在一对多关系方面遇到问题,例如用户到用户社交网络和用户到按钮。
\n我在 AWS Amplify Docs 上阅读了很多有关此内容的资源,浏览了示例,但仍然没有找到任何可以使用的内容,这些内容可以让我从 getUser 调用的连接中获取信息,也让我能够获取用户名。\n任何输入将不胜感激!
\n这是查询深度的问题。它是2
默认的,需要增加它(根据4
您的情况)。
您可以按照以下步骤解决此问题。在项目根目录的 cmd 中(通常在其中运行 amplify 命令)。
amplify codegen configure
- 这将再次提示配置。4
此选项Enter maximum statement depth [increase from default if your schema is deeply nested]
amplify codegen
- 这将根据新的深度创建您的查询和突变。您可以通过检查来验证grapgql/queries.js
。
getUser
早些时候,您可以在查询中看到以下片段grapgql/queries.js
,
buttons {
nextToken
}
Run Code Online (Sandbox Code Playgroud)
但按照上述解决步骤后,应该如下所示。
buttons {
items {
id
image
address
}
}
Run Code Online (Sandbox Code Playgroud)
最后再次查询您的用户。
归档时间: |
|
查看次数: |
3505 次 |
最近记录: |