Можно ли запросить тип AppSync GraphQL по временным меткам?

#graphql #amazon-dynamodb #aws-appsync

#graphql #amazon-dynamodb #aws-appsync

Вопрос:

Я хочу запросить все экземпляры модели по самому последнему созданному.

Читая официальные документы, они предлагают способ запроса по временным меткам по умолчанию ( updatedAt / createdAt ), но только при запросе по другому ключу. Итак, я знаю, что мог бы запросить гипотетическую User модель с помощью name and createdAt , но я не могу запросить все экземпляры User by createdAt .

Существует ли установленный способ сделать это?

Я попытался добавить @key директиву для сортировки updatedAt , но это приводит к ошибке, поскольку updatedAt она добавляется автоматически и не описана в моей схеме. Если я затем добавлю временные метки в свою схему, это создаст проблемы при изменении клиентов, потому что он ожидает, что временные метки будут добавлены мной, чего я, очевидно, не делаю, потому что он автоматически добавляется DynamoDB.

Спасибо

Ответ №1:

Вы могли бы попробовать использовать глобальный вторичный индекс в поле, которое вы хотите запросить. В вашем преобразователе AppSync вам нужно указать индекс, который вы хотите использовать для запроса.

Другим способом было бы запустить scan операцию с вашей базой данных (в этом случае вам не нужно указывать ключ), хотя это было бы намного неэффективнее, чем a GSI .