我有一个连接到我的 DynamoDB 的小 nodejs 脚本,我的主要排序键之一是 datetime,它以 UTC 表示。
我想按特定日期和时间过滤结果,但我的过滤器表达式有问题。
var params = {
TableName: "realtimeusers",
ProjectionExpression: "brand, datetime, activeusers",
KeyConditionExpression: "brand = :brand",
FilterExpression: "datetime > :today",
ExpressionAttributeValues: {
":brand": "BRAND A",
":today": 1464705900
},
};
我收到错误消息:
"message": "Invalid FilterExpression: Attribute name is a reserved keyword; reserved keyword: datetime",
我想我的过滤器表达式中缺少一些我没有完全掌握的东西。
有人可以帮忙吗?
datetime"是一个保留的dynamo关键字。动态查询表达式中不允许使用保留关键字。
解决此问题的方法是在查询此类属性时使用表达式属性名称。
参考:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.htmlhttp://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html#ExpressionAttributeNames