25 google-app-engine google-cloud-datastore
我需要在App Engine上获取特定模型的记录数.怎么做呢?
我批量上传了4000多条记录,但是modelname.count()只显示了1000条.
Tom*_*myN 18
您应该使用数据存储统计:
Query query = new Query("__Stat_Kind__");
query.addFilter("kind_name", FilterOperator.EQUAL, kind);
Entity entityStat = datastore.prepare(query).asSingleEntity();
Long totalEntities = (Long) entityStat.getProperty("count");
Run Code Online (Sandbox Code Playgroud)
请注意,上述内容不适用于开发数据存储区,但它适用于生产(发布时).
我看到这是一篇很老的帖子,但我正在为其他人寻找相同的东西而添加答案.
dar*_*dar 13
从版本1.3.6开始,计数查询的上限不再为1,000.因此,您可以执行以下操作以获得超过1,000的计数:
count = modelname.all(keys_only=True).count()
Run Code Online (Sandbox Code Playgroud)
这将统计您的所有实体,如果您拥有大量实体,这可能会相当慢.因此,您应该考虑count()使用指定的限制进行调用:
count = modelname.all(keys_only=True).count(some_upper_bound_suitable_for_you)
Run Code Online (Sandbox Code Playgroud)
小智 8
count = modelname.all(keys_only=True).count(some_upper_limit)
Run Code Online (Sandbox Code Playgroud)
只是为了添加dar的早期帖子,必须指定'some_upper_limit'.如果不是,默认计数仍将是最大值1000.
| 归档时间: |
|
| 查看次数: |
19847 次 |
| 最近记录: |