通过名为“timestamp”(保留字)的列查询Amazon DynamoDB

时间:2017-02-23 20:04:19

标签: amazon-dynamodb

我有一个名为“timestamp”列的DynamoDB表,我正在尝试按日期查询。我无法控制更改列名。

var params = {
    TableName : 'REPORT_CARD',

    KeyConditionExpression: "timestamp BETWEEN :startDate AND :endDate",
    ExpressionAttributeValues: {
    ":startDate": ""+startDate,
    ":endDate": ""+endDate
}     

我收到错误:“错误:ValidationException:无效的KeyConditionExpression:属性名称是保留关键字;保留关键字:timestamp”

除了重命名“timestamp”列之外,还有解决方法吗?

感谢!!!

1 个答案:

答案 0 :(得分:12)

首先,假设表'REPORT_CARD'分区键定义为timestamp,您只能使用相等运算符(即'= '{1}}中的'),用于按分区键查询数据。

如果表格中KeyConditionExpression被定义为排序键,则可以使用BETWEEN

注册关键字错误,您可以使用timestamp提供属性名称ExpressionAttributeNames。示例如下: -

timestamp