使用 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;
}
似乎没有任何专门的方法来做到这一点。有什么想法吗?
答案 0 :(得分:14)
找到它:
int n = Iterable<Key<MyEntity>> list = ofy().query(MyEntity.class)
.filter("field", v).count();
这很简单,虽然效率很高,因为它会检索所有键。最好设计你的用户界面来处理未知数量的结果(例如谷歌提供了网页数量而不是实际数量的线索)