노드 람다 (Node Lambda) 기능을 사용하여 기간을 검색하려고합니다. 데이터가 올바르게 스캔되었지만 날짜 표현식이 올바르게 작동하지 않는 것 같습니다.Lambda와 DynamoDB를 사용하여 기간을 검색하는 방법은 무엇입니까?
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
exports.handler = function(event, context) {
var tableName = "MyDDBTable";
dynamodb.scan({
TableName : tableName,
FilterExpression: "start_date < :start_date",
ExpressionAttributeValues: {
":start_date": {
"S": "2016-12-01"
}
}
}, function(err, data) {
context.succeed(data);
});
};
현재 범위를 벗어나려고하지 않으며 현재 하나의 날짜 만보고 있습니다. 나는 이것이 작동하고 있음을 알 때까지 표현에 and
을 추가하고 싶지 않았다.
내 DynamoDB의에서 샘플 문서
은과 같이 구성되어있다 :{
"end_date": {
"S": "2016-12-02"
},
"name": {
"S": "Name of document"
},
"start_date": {
"S": "2016-10-10"
},
"document_id": {
"N": "7"
}
}
document_id
내 기본 키입니다. 나는 Lamdba/DynamoDB의 전체 조합에 익숙하지 않기 때문에 이것이 완전히 잘못 설정되었을 수도 있습니다. 그러나 이것은 제가 연구를 통해 완료 할 수 있었던 것입니다.
달성하려는 최종 목표에는 시작 날짜와 종료 날짜가 주어지며 그 안에 날짜 범위가있는 모든 DynamoDB 문서가 반환됩니다. 어떤 도움이라도 대단히 감사하겠습니다.
가능한 복제 [? 명백한 해시 키, 날짜 (범위 키)에 의해 DynamoDB의를 조회하는 방법 (http://stackoverflow.com/ 질문/35963243/how-to-query-dynamodb-date-range-key-with-no-obvious-hash-key) – kixorz