2016-09-27 105 views
0

我有一个DynamoDB和一些项目有一个日期字段。日期字段是格式为{YYYY-MM-DD}的字符串。我应该写什么,数据库将检索日期字段介于开始日期和结束日期之间的所有项目?Amazon DynamoDB:如何搜索日期范围?

这是我的代码:

function searchFile(from_date, until_date) { 
    AWS.config = new AWS.Config({accessKeyId: '***', secretAccessKey: '***', region: '***'}); 
    var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'}); 
    var params = { 
     "TableName" : '***', 
     FilterExpression: "Date_ = :date", 
     ExpressionAttributeValues: { 
      // What should I write here? 
     }, 
    } 
    dynamodb.scan(params, function(err,data) { 
     if (err) { 
      console.log(err); 
     } 
     console.log(data); 
    }) 
} 

回答

1

的DynamoDB将日期存储为字符串。您可以使用BETWEEN运算符来获取日期范围。

CREATEDATE - 是属性名称

FilterExpression: "createdate BETWEEN :date1 and :date2", 
    ExpressionAttributeValues: { 
     ":date1": "2010-05-05", 
     ":date2": "2011-10-04", 
    } 

日期S(串类型)。日期值存储为ISO-8601格式的 字符串。

BETWEEN:大于或等于第一个值,小于或等于第二个值。