使用PynamoDB时,其他有问题的人会试图计算表上的所有项目吗?我有一个模型,我用它创建了一个表。我正在尝试使用ModelName.count(),但我仍然得到0,尽管我在那里有一些项目。当向ModelName.count(key)发送特定的密钥时,我会得到正确的结果,但是我希望计数所有的项。
我试图查询所有项并进行计数,但似乎必须将主键设置为查询,因此本演练与此无关。
如果以前有人处理过这件事,我很高兴能在这里得到帮助,谢谢!
发布于 2022-04-20 06:41:27
要计数表中的所有项而不需要花费巨大的代价扫描整个表,pynamodb必须使用DescribeTable操作,该操作返回一个ItemCount响应。然而,DynamoDB文档解释说:
DynamoDB大约每六小时更新一次此值。最近的变化可能不会反映在这个值中。
所以这可能是你的问题。请试着等六个小时,看看计数是否被更新。
关于在没有键的情况下查询所有项目--您可以这样做,但这不是Query,而是Scan。这将是非常昂贵的(即使你只是想计数,基本上你将支付读取数据库的全部内容)。
https://stackoverflow.com/questions/71912412
复制相似问题