Как я могу получить последние N сущностей в Javascript для запроса таблицы хранения Azure - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть код запроса ниже, но он выбирает три верхних значения с одним из двух первичных ключей. Вместо этого я хочу выбрать последние 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 Ответ

0 голосов
/ 09 ноября 2018

Я нашел эту статью полезной Как получить последнюю запись с помощью RowKey на SO

Итак, что я сделал, потому что в статье в качестве ключа строки указана метка времени, а я использую целое число.

Я установил ключ первой строки на большое число, например 10000000, а затем уменьшал его при каждой записи ...

Поскольку эти записи представляют собой сообщения чата между двумя людьми, это большое число в 10 миллионов никогда не попадет между двумя людьми.

Теперь я могу просто взять верх (N), и это будут последние сообщения между ними ...

...