Возможно ли сделать заказ, если scanning
a таблица DynamoDB, прежде чем получать данные, возвращенные пользователю?Результаты заказа в скане DynamoDB
В SQL
можно выполнить запрос, например SELECT * FROM posts ORDER BY creationDate DESC
. Можно ли сделать это с помощью scan
(или с query
, но я не думаю, что это сработает, потому что я не знаю значение ключа хэша) в AWS DynamoDB
?
Хотя можно получить все результаты из базы данных, и , то сортировать их, я ожидаю, что там будет много сообщений. Если есть много сообщений, тогда потребуется много времени, потому что я хотел бы загружать только определенное количество сообщений, пока пользователь не решит загрузить больше.
Есть ли способ сортировки результатов по range key
, или local or global secondary index
?
Я пытаюсь найти взломать обойти тот факт, что, кажется, нет никакого способа, чтобы заказать результаты, а не искать что-то вроде этого:
AWSDynamoDBScanInput.order = NSSortDescriptor(key: "creationDate", ascending: true)
Если оно не существует, хотя от того, что я смотрел на него, кажется, не представляется возможным.
Похоже, что результаты сортируются по хэш-ключу по умолчанию, поэтому я хотел бы установить хеш-ключ на дату создания элемента с UID для ключа диапазона, но AWS DynamoDB documentation, похоже, предупреждает об этом это:
установка Будет ли хэш-ключ к дате создания:
var creationDate: Int = Int(NSDate().timeIntervalSince1970)
и ключ диапазона для случайной работы UID сортировать сообщения?
Можно ли заказать результаты, когда scanning
a таблица DynamoDB? Установил ли дата создания (как Int
) как Хэш-ключ и случайный UID в качестве ключа диапазона? Есть ли (лучше) хаки, которые можно использовать, чтобы обойти тот факт, что DynamoDB
не имеет функции сортировки?
Отлично, спасибо. Это будет довольно масштабное приложение, так вы знаете, насколько важны проблемы? Кроме того, по умолчанию сортировка 'scan' сортируется (как в порядке убывания хеш-ключа), или это просто случайно? – Jojodmo
Сканирование заказов случайным образом. Не планируйте выполнение сканирования в производстве, за исключением целей резервного копирования. Планирование запроса, когда вам нужно искать по ключу, упорядоченному другим полем – Max