【问题标题】:Scan with filter returns zero results in DynamoDB使用过滤器扫描在 DynamoDB 中返回零结果
【发布时间】:2014-12-08 15:29:55
【问题描述】:

我在 DynamoDB 中有一个包含大约 300 000 行的表。它包含三列:源、数据和周期。源属性是哈希键,数据是范围键。循环属性是应用程序每次添加行时添加的数字。我曾经使用以下过滤器扫描这些行:

{
    TableName: "tableName",
    Limit: 20,
    ScanFilter: {
        cycles: {
            AttributeValueList: [
                {
                    N: "0"
                }
            ],
            ComparisonOperator: "EQ"
        }
    }
}

然而,这个扫描过滤器似乎自发地决定不再正常工作了。每当我执行此请求时,它都会返回零结果。当我删除扫描过滤器时,它返回 20 个结果,所以我认为它与 limit 或 tableName 属性无关。有趣的是,当我将过滤器设置为查找周期等于“1”的项目时,它实际上可以工作,可能是因为表格开头有 10 行周期 = 1。

我的问题只是如何解决这个问题。我应该添加一个新索引,还是应该更改这个扫描过滤器?我也可以尝试使用查询命令而不是扫描,但我之前的尝试也没有成功。

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb database-scan nosql


    【解决方案1】:

    没关系,我必须使用这个查询方法。我注意到 scan 方法只从表中获取前 X 行,直到 scanFilter 返回 false,所以它不会搜索整个表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 2016-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多