AppSync 查询 sortField:"ceatedAt" 设置为降序

AppSync query sortField: "ceatedAt" set to descending order

从它下面的这个 schema.graphql returns 10 posts 从最早的 post 到最新的当我查询 userPosts.

type User @model {
  id: String!
  posts: [Post] @connection(name: "UserPosts", sortField: "createdAt")
}

如何将此顺序设置为 DESC,以便 returns 最新 10 post 秒而不是最旧?

当您使用 Amplify CLI 创建 @model 类型时,它会使用名为 listPosts 的查询生成您的架构。这个查询有多个参数,其中一个是sortDirection,类型是ModelSortDirection.

ModelSortDirection 是一个 enum 类型,具有以下形状:

enum ModelSortDirection {
    ASC
    DESC
}

你可以通过DESC。此外,如果您编辑 posts 解析器,从 AppSync console, you can see how this parameter is being used. It uses the DynamoDB scanIndexForward 的 API 模式页面对从数据源返回的行进行排序。

  "scanIndexForward":   #if( $context.args.sortDirection )
    #if( $context.args.sortDirection == "ASC" )
true
    #else
false
    #end