Amazon dynamodb Dynamo Db提供最新数据

Amazon dynamodb Dynamo Db提供最新数据,amazon-dynamodb,Amazon Dynamodb,我将分区键作为id,即VIN(车辆识别号)排序键作为时间戳,我希望执行查询并希望知道具有最大时间戳的最新记录(仅基于具有最新时间戳的VIN的单个记录).您可以使用QueryAPI,将ScanIndexForward设置为false,并将Limit设置为1,以获得结果 ScanIndexForward=false->表示按降序排列排序键 命令 限制=1->表示只返回一个项目 示例代码:- var params = { TableName : "yourtablename", K

我将分区键作为id,即VIN(车辆识别号)排序键作为时间戳,我希望执行查询并希望知道具有最大时间戳的最新记录(仅基于具有最新时间戳的VIN的单个记录).

您可以使用
Query
API,将
ScanIndexForward
设置为false,并将
Limit
设置为1,以获得结果

  • ScanIndexForward=false->表示按降序排列排序键 命令
  • 限制=1->表示只返回一个项目
示例代码:-

var params = {
    TableName : "yourtablename",
    KeyConditionExpression: "#VIN = :vinvalue",
    ExpressionAttributeNames:{
        "#VIN": "VIN"
    },
    ExpressionAttributeValues: {
        ":vinvalue":"somevinvalue"
    },
    ScanIndexForward : false,
    Limit : 1
};

docClient.query(params, function(err, data) {
    if (err) {
        console.error("Unable to query. Error:", JSON.stringify(err, null, 2));
    } else {
        console.log("Query succeeded.");
        data.Items.forEach(function(item) {
            console.log(" -", item.year + ": " + item.title);
        });
    }
});

您可以使用
Query
API,将
ScanIndexForward
设置为false,并将
Limit
设置为等于1以获得结果

  • ScanIndexForward=false->表示按降序排列排序键 命令
  • 限制=1->表示只返回一个项目
示例代码:-

var params = {
    TableName : "yourtablename",
    KeyConditionExpression: "#VIN = :vinvalue",
    ExpressionAttributeNames:{
        "#VIN": "VIN"
    },
    ExpressionAttributeValues: {
        ":vinvalue":"somevinvalue"
    },
    ScanIndexForward : false,
    Limit : 1
};

docClient.query(params, function(err, data) {
    if (err) {
        console.error("Unable to query. Error:", JSON.stringify(err, null, 2));
    } else {
        console.log("Query succeeded.");
        data.Items.forEach(function(item) {
            console.log(" -", item.year + ": " + item.title);
        });
    }
});
公共事件日志实体获取(字符串vin){ EventLogEntity eventLogEntityResult=null; EventLogEntity实体=新的EventLogEntity(); 实体设置ID(vin); DynamoDBQueryExpression查询expression= 新的DynamoDBQueryExpression(),带有HashKeyValues(实体); //DynamoDBQueryExpression仅适用于dynamodb中的分区、排序和索引 queryExpression.setScanIndexForward(false);//将按降序给出结果 queryExpression.withLimit(1);//将始终为您提供一条记录 List result=dynamoDBMapper.queryPage(EventLogEntity.class,queryExpression).getResults(); if(result!=null&&!result.isEmpty()){ eventLogEntityResult=result.get(0); } 返回eventLogEntityResult; }
公共事件日志实体获取(字符串vin){
EventLogEntity eventLogEntityResult=null;
EventLogEntity实体=新的EventLogEntity();
实体设置ID(vin);
DynamoDBQueryExpression查询expression=
新的DynamoDBQueryExpression(),带有HashKeyValues(实体);
//DynamoDBQueryExpression仅适用于dynamodb中的分区、排序和索引
queryExpression.setScanIndexForward(false);//将按降序给出结果
queryExpression.withLimit(1);//将始终为您提供一条记录
List result=dynamoDBMapper.queryPage(EventLogEntity.class,queryExpression).getResults();
if(result!=null&&!result.isEmpty()){
eventLogEntityResult=result.get(0);
}
返回eventLogEntityResult;
}