【问题标题】:AWS DynamoDB and Nodejs integration - how to filter between two dates?AWS DynamoDB 和 Nodejs 集成 - 如何在两个日期之间进行过滤?
【发布时间】:2016-06-01 01:53:45
【问题描述】:

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

我认为我在过滤器表达式中遗漏了一些我没有完全掌握的东西。

有人可以帮忙吗?

【问题讨论】:

标签: node.js amazon-web-services amazon-dynamodb


【解决方案1】:

"datetime" 是保留的 dynamo 关键字。 dynamo 查询表达式中不允许使用保留关键字。

解决此问题的方法是在查询此类属性时使用表达式属性名称。

参考: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html#ExpressionAttributeNames

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多