带有 AWS Amplify 的 GraphQL - 如何启用对查询的排序

Posted

技术标签:

【中文标题】带有 AWS Amplify 的 GraphQL - 如何启用对查询的排序【英文标题】:GraphQL with AWS Amplify - how to enable sorting on query 【发布时间】:2020-01-17 03:55:22 【问题描述】:

我最近开始研究 AWS Amplify。 我已经设法使用 GraphQl 设置了一个 API。 基本上,在 API 创建期间,Amplify 会询问您一些有关 API 的问题并指导您完成其创建过程。 在某些时候,您被要求创建一个模式。我选择的架构如下:

type User @model 
  id: ID!
  username: String!
  email: String


type Highscore @model 
  points: Int!,
  id: ID!
  ownerId: ID!,
  numRounds: Int,
  date: String, 

使用此架构,Amplify 能够生成允许我执行以下操作的代码:

改变用户和高分 查询所有用户 查询所有高分

有谁知道我如何做到这一点?

我查看了@key 指令 (https://aws-amplify.github.io/docs/cli-toolchain/graphql#key),但更新了架构以包含

type Highscore @model @key((fields: ["points"] 
...

没有产生预期的结果。

很遗憾,Amplify 使用此架构生成的代码不允许对查询进行排序

我希望能够查询所有的高分,并按照分数进行排序。

【问题讨论】:

【参考方案1】:

此问题已在 GitHub Amplify CLI 存储库中提出并已得到答复。 https://github.com/aws-amplify/amplify-cli/issues/2307

【讨论】:

请把解决方案放在这里 为什么?该链接是公开的,因此每个人都可以导航到它并查看解决方案以及与此案例相关的讨论。

以上是关于带有 AWS Amplify 的 GraphQL - 如何启用对查询的排序的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS Amplify 中更改我的 GraphQL 架构时如何防止丢失生产数据?

必须在 AWS amplify 中为 Source 提供 graphql API 调用

AWS Amplify AppSync GraphQL @Auth 指令:如何禁止为公共用户列出元素

使用 AWS Amplify Auth 和 GraphQL API,您将如何进行一些公共和一些私有查询/突变调用?

使用 AWS Amplify/AppSync 的嵌套 GraphQL 突变

在 React js 中使用现有的 aws amplify 项目