我在数据存储区中创建了实体。我想使用datstore分配给它们的索引进行查询。 即获得id大于给定数字的可迭代 e.g。
Query q = new Query("MyEntity");
q.addFilter("id",Query.FilterOperator.GREATER_THAN_OR_EQUAL, startId);
PreparedQuery pq = datastore.prepare(q);
我知道我可以通过id返回一个单独的实体 - 但是如何获取列表?
干杯,
答案 0 :(得分:1)
Iterable<Entity> myEntities = pq.asIterable();
List<Entity> myEntitiesInAList = pq.asList(FetchOptions.Builder.withChunkSize(500));
旁注:
“id”不是App Engine自动分配的密钥的名称。我认为您必须使用__key__
作为属性名称对其进行查询,并构建一个完整的密钥作为搜索参数,而不仅仅是长id
。
答案 1 :(得分:0)
如果您的目的是记住中断的地点并继续进行后续查询,请考虑使用query cursor。该页面上的示例可能会为您提供更多选项。