我有一个dynamodb表,它有一个GlobalSecondaryIndex,日期字段作为keytype“range”的属性。值以ISO格式“YYYY-MM-DD”存储。 我想在节点中访问日期大于特定日期的记录。 它似乎与我的查询的参数一起使用:
KeyConditionExpression: 'myDate >= :myDate',
ExpressionAttributeValues: {
':myDate': '2017-11-17'
}
但是我不太明白。从技术上讲,日期是一个字符串。信任字符串比较是否可靠,还是应该以不同的方式完成?
答案 0 :(得分:2)
是的,只要日期以YYYY-MM-DD
格式存储,您就可以转发此内容。
DynamoDB没有Date的单独数据类型。日期可以存储为字符串或数字。
Date S (string type). The Date values are stored as ISO-8601 formatted strings.
将日期存储为字符串: -
您可以使用字符串数据类型来表示日期或时间戳。 一种方法是使用ISO 8601字符串,如下所示 示例:
2016年2月15日
2015-12-21T17:42:34Z
20150311T122706Z
将日期存储为数字: -
您可以使用数字数据类型来表示日期或时间戳。 一种方法是使用纪元时间 - 从那以后的秒数 1970年1月1日00:00:00 UTC。例如,纪元时间1437136300 代表2015年7月17日12:31:40 UTC。