我有一个名为“timestamp”列的DynamoDB表,我正在尝试按日期查询。我无法控制更改列名。
var params = {
TableName : 'REPORT_CARD',
KeyConditionExpression: "timestamp BETWEEN :startDate AND :endDate",
ExpressionAttributeValues: {
":startDate": ""+startDate,
":endDate": ""+endDate
}
我收到错误:“错误:ValidationException:无效的KeyConditionExpression:属性名称是保留关键字;保留关键字:timestamp”
除了重命名“timestamp”列之外,还有解决方法吗?
感谢!!!
答案 0 :(得分:12)
首先,假设表'REPORT_CARD'用分区键定义为timestamp
,您只能使用相等运算符(即'= '{1}}中的'),用于按分区键查询数据。
如果表格中KeyConditionExpression
被定义为排序键,则可以使用BETWEEN
。
注册关键字错误,您可以使用timestamp
提供属性名称ExpressionAttributeNames
。示例如下: -
timestamp