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