Javascript запрос последних элементов в Dynamodb от AWS лямбда - PullRequest
0 голосов
/ 27 ноября 2018

Итак, у меня есть таблица DynamodB с первичным ключом ID и вторичным ключом Time, который представляет собой число / метку времени.Теперь я хочу запросить последнюю запись определенного идентификатора.Я пытался построить параметры, подобные этому, но не знаю, как двигаться дальше, чтобы запросить элемент с наибольшим значением Time.

function get_snapshot(id, callback){
    let params = {
        TableName: "Table1",
        KeyConditionExpression: "ID = :id and Time ", // here I stuck
        ExpressionAttributeValues: {
        ":id": id
        }
    }; 
    docClient.query(params, function(err, data){
        ... // process the fetched item here
    })
}

. Я довольно новичок в этой области.Там может быть много ошибок новичка.Любая помощь приветствуется.

1 Ответ

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

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

let params = {
    TableName: "Table1",
    KeyConditionExpression: "ID = :id",
    ExpressionAttributeValues: {
        ":id": id
    },
    ScanIndexForward: "false",
    Limit: 1
}; 

ScanIndexForward: false сообщает DynamoDB, что он должен возвращать результаты, начиная с наибольшего значения ключа сортировки.Limit: 1 сообщает DynamoDB, что вы хотите получить только первые 1 результаты.

...