google-app-engine – 如何获取数据存储区中表格中的行数?

在许多情况下,使用Google Application Engine知道数据存储区中表(一种)中的行数可能很有用.没有明确而快速的解决方案.至少我还没找到一个..你呢?
您可以使用 Datastore Statistics有效地获取特定类型的所有实体(即表中的行数)的计数.简单示例:

from google.appengine.ext.db import stats
kind_stats = stats.KindStat().all().filter("kind_name =", "NameOfYourModel").get()
count = kind_stats.count

你可以找到一个更详细的例子来说明如何获得最新的统计数据here(GAE可以保留统计数据的多个副本 – 一个用于5分钟前,一个用于30分钟前等等).

请注意,这些统计数据不会不断更新,因此它们落后于实际数量.如果您确实需要实际计数,那么您可以跟踪自己的自定义统计表中的计数,并在每次创建/删除实体时更新它(尽管这样做的成本会高得多).

更新03-08-2015:使用数据存储区统计信息可能会导致过时的结果.如果这不是一个选项,另外两种方法是保持计数器或分片计数器. (You can read more about those here).如果您需要实时结果,请仅查看这两个.

相关文章
相关标签/搜索