Google AppEngine:如何计算超过1000的数据库条目?

Man*_*áoz 12 python google-app-engine count

重复 一下"如何在google appengine中获取数据存储模型中的行数?"


我想知道我有多少用户.以前,我使用以下代码实现了此目的:

users = UserStore.all()
user_count = users.count()
Run Code Online (Sandbox Code Playgroud)

但现在我有超过1,000个用户,这种方法继续返回1,000.

是否有一种有效的编程方式来了解我拥有多少用户?

Koe*_*Bok 14

这确实是一个复制品而另一篇文章描述了理论上如何做到这一点,但我想强调一下,你真的不应该这样做.原因是BigTable的分布式特性对聚合来说真的很糟糕.您可能想要做的是向该实体添加一个事务计数器,如果有很多事务,则使用分片计数器.请参阅:http://code.google.com/appengine/articles/sharding_counters.html

更新:由于1.3.1游标使这样的东西变得更容易:http://code.google.com/appengine/docs/python/datastore/queriesandindexes.html#Query_Cursors

  • +1000.为每个请求计算每个用户是一个非常糟糕的主意. (2认同)