Я использую Node.js и DynamoDB JavaScript SDK для разработки.
У меня есть таблица, в которой "ID" используется в качестве ключа раздела (хеш-ключ) и "время" в качестве ключа сортировки (ключ диапазона),И я хотел бы получить последние данные N из нескольких ключей раздела.
i.e.
Table:
ID | time
01 | 2018-10-01 01:00:00
02 | 2018-10-01 02:00:00
01 | 2018-10-01 04:00:00
03 | 2018-10-01 03:00:00
1. Get the latest 2 data from all partition key
result:
ID | time
01 | 2018-10-01 04:00:00
03 | 2018-10-01 03:00:00
1. Get the latest 2 data from partition key 01 & 02
result:
ID | time
01 | 2018-10-01 04:00:00
02 | 2018-10-01 02:00:00
Я могу получить последние данные N из ключа раздела с помощью Query.
var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName: 'tablename',
ScanIndexForward: false,
ExpressionAttributeNames: {
'#id': 'id'
},
ExpressionAttributeValues: {
':id': '01'
},
KeyConditionExpression: '#id = :id',
Limit: 2
};
docClient.query(params, function (err, data) {
...
});
Но яне знаю, как получить последние данные N из нескольких ключей раздела.Должен ли я запросить 10 раз, если я хочу получить данные из ключа 10 разделов?