Как я могу получить последние N объектов в Javascript для запроса таблицы хранения Azure
У меня есть код запроса ниже, но он выбирает верхние 3 значения с одним из двух первичных ключей. Я хочу выбрать последние 3 строки вместо этого.
К вашему сведению - мои RowKeys - это инкрементно добавленные числа (напр. 1,2,3,4,5)
var tableUri = "https://mytableuri.table.core.windows.net";
var tableService = AzureStorage.Table.createTableServiceWithSas(tableUri, sasToken);
var tableQuery = new AzureStorage.Table.TableQuery().top(3).where('PartitionKey eq ? or PartitionKey eq ?', partitionA, partitionB);
Я хочу что-то вроде
var tableQuery = new AzureStorage.Table.TableQuery().last(3).where('PartitionKey eq ? and RowKey starts at TotalCount or PartitionKey eq ? and RowKey starts at TotalCount', partitionA, partitionB);
1 ответ
Я нашел эту статью полезной Как получить последнюю запись, используя RowKey на SO
Итак, что я сделал, потому что статья имеет метку времени в качестве ключа строки, и я использую целое число.
Я установил ключ первой строки на большое число, например 10000000, а затем уменьшал его при каждой записи...
Поскольку эти записи представляют собой сообщения чата между двумя людьми, это большое число в 10 миллионов никогда не попадет между двумя людьми.
Теперь я могу просто взять верх (N), и это будут последние сообщения между ними...