google-app-engine - 对象化/AppEngine : best way to count # of objects returned by a query?

标签 google-app-engine objectify

AppEngine 上使用 Objectify 计算查询返回的对象数量的最佳(即最有效)方法是什么,而不实际加载它们?我猜最好的办法是获取所有键并计算结果:

public int getEntityCount(Long v) {
    Objectify ofy = ObjectifyService.begin();
    Iterable<Key<MyEntity>> list = ofy.query(MyEntity.class)
            .filter("field", v).fetchKeys();
    int n = 0;
    for (Key<MyEntity> e : list)
        n++;
    return n;
}

似乎没有任何专门的方法来做到这一点。有什么想法吗?

最佳答案

找到了:

int n = Iterable<Key<MyEntity>> list = ofy().query(MyEntity.class)
      .filter("field", v).count();

就这么简单,但效率很高,因为它会检索所有 key 。最好将您的 UI 设计为处理未知数量的结果(例如 Google 会提供页数线索而不是实际页数)

关于google-app-engine - 对象化/AppEngine : best way to count # of objects returned by a query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5043001/

相关文章:

google-app-engine - 谷歌应用引擎 (GAE) 上的 Lucene

google-app-engine - 为什么 goapp test 在/tmp 中寻找文件?

java - 在随机时间段使用 Java Google App Engine Standard 的内存缓存中出现服务错误

java - 使用父键对象化过滤器实体

java - 获取查询<T>

google-app-engine - NDB 与 DB(在高复制数据存储上)的速度比较是什么?

google-app-engine - App Engine 应用程序中的管理 url 是什么?

javascript - 加载 Google Javascript 客户端库和自定义端点客户端库的正确方法是什么

java - Objectify - 如何按 boolean 值过滤?

google-app-engine - Objectify 查询结果和 Datastore 查看器结果不一致的问题?