繁体   English   中英

使用筛选器进行扫描在DynamoDB中返回零结果

[英]Scan with filter returns zero results in DynamoDB

我在DynamoDB中有一个约有30万行的表。 它包含三列:源,数据和周期。 source属性是哈希键,data是范围键。 循环属性是一个数字,每次添加一行时,应用程序都会添加该数字。 我以前使用以下过滤器扫描这些行:

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM