AWS DynamoDB 和 Nodejs 集成 - 如何在两个日期之间进行筛选



我有一个连接到我的 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

最新更新