Из этого schema.graphql ниже он возвращает 10 сообщений от самого старого сообщения до самого последнего, когда я запрашиваю userPosts.
type User @model {
id: String!
posts: [Post] @connection(name: "UserPosts", sortField: "createdAt")
}
Как мне установить этот порядок на DESC, чтобы он возвращал последние 10 сообщений вместо самых старых?





Когда вы создаете тип @model с помощью Amplify CLI, он генерирует вашу схему с запросом под названием listPosts. Этот запрос имеет несколько параметров, один из которых — sortDirection, который имеет тип ModelSortDirection.
ModelSortDirection является типом enum и имеет следующую форму:
enum ModelSortDirection {
ASC
DESC
}
Вы можете пройти DESC. Более того, если вы отредактируете posts Resolver, на странице схемы API вашего Консоль AppSync вы сможете увидеть, как используется этот параметр. Он использует DynamoDB сканированиеИндексФорвард для сортировки строк, возвращаемых из вашего источника данных.
"scanIndexForward": #if ( $context.args.sortDirection )
#if ( $context.args.sortDirection == "ASC" )
true
#else
false
#end
Обновил мой ответ. Извините, я пропустил это. Вы можете войти в свою консоль AppSync и щелкнуть страницу схемы для своего API. Вы должны увидеть раздел «Резолверы» на этой странице, где вы можете найти ссылку для редактирования этого резолвера.
Понял тебя! Спасибо!
Вы имели в виду добавить enum ModelSortDirection { ASC DESC } в schema.graphql и запустить amplify push?
Вам не нужно. Он генерируется с помощью amplify cli.
Как передать DESC запросу с await API.graphql(graphqlOperation(queries.getUser, {id: username}))?
Попробуйте передать DESC без кавычек в параметр sortDirection в вашем запросе. Я нашел пару полезных статей в Google: github.com/graphql/graphql-js/issues/653 и medium.com/graphql-mastery/….
Я обнаружил, что изменение файла graphql/queries.js с помощью sortDirection работает, но все еще не знаю, как передать его из моего компонента React, а не изменять graphql/queries.js в posts(limit: 10, sortDirection: DESC) {...
Вы имели в виду сделать что-то вроде API.graphql(graphqlOperation(queries.getUser, {id: username, posts: {sortDirection: DECS}}))? что не работает
Спасибо за ответ. Где я могу увидеть Резолвер? Я могу найти ``` "scanIndexForward": #if ( $context.args.sortDirection ) #if ( $context.args.sortDirection == "ASC" ) true #else false #end``` в любом месте моей кодовой базы