我在DynamoDB表中执行扫描功能,它运行得很好。现在,我想限制应用过滤器后的结果。
我已经读过,当我将FilterExpression和Limit组合在一起时,DynamoDB将应用限制,然后应用FilterExpression。
有可能做些相反的事吗?第一次过滤比应用限制?我试图避免在代码上这样做,因为它会返回比我需要的更多的数据。
发布于 2018-10-11 03:21:16
在DynamoDB中没有这方面的解决方案,因为它不是为此类操作设计的。
您可以使用LastEvaluatedKey对结果进行模拟过滤,尽管这也不是一个有效的操作,而且可能导致全表扫描。
如果为结果页读取的所有项都被过滤掉,查询操作可以返回空的结果集和LastEvaluatedKey。 若要获取匹配项的完整计数,请从前一个请求中获取LastEvaluatedKey值,并在下一个请求中将其用作ExclusiveStartKey值。重复此操作,直到DynamoDB不再返回LastEvaluatedKey值。
https://stackoverflow.com/questions/52736766
复制相似问题