2014-10-10 72 views

回答

6

这些都没有提供。您可以通过执行查询或使用筛选器扫描并自行计算值来实现这些。为了简化一点,您可以使用Count parameter来仅返回该查询/扫描将返回的项目数量,而不是实际项目。 (请注意,count只返回部分计数 - 您可能需要跨多页查询/扫描计算总计数)。

或者,您可以维护一个单独的表格,以便在更新主表格时为您存储这些值(注意,这可能会非常棘手以保持同步,您必须使用某种形式的事务管理并考虑到发电机的最终一致性模型)。

+0

只算支持https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count – cjungel 2015-09-02 17:54:52

+1

不太 - 数只返回该查询的部分结果需要自己组装总数。我在这里复制并粘贴了链接中的相关文档说明:“*如果过滤器表达式或查询条件的匹配项目大于1 MB,则Count包含与请求匹配的项目总数的部分计数。获取匹配项的完整计数,从前一个请求中获取LastEvaluatedKey值,并将该值用作下一个请求中的ExclusiveStartKey。重复此操作,直到DynamoDB不再返回LastEvaluatedKey。*“ – Krease 2015-09-03 20:36:56

+0

您是对的,您可能会必须将所有部分计数相加以获得总计数。但仍然比检索单个项目并在应用程序中计算它们更有效。当然,这只适用于计数而不适用于任何其他聚合函数。 – cjungel 2015-09-03 20:48:43