使用Java为App Engine数据存储区设置Cursor

时间:2014-12-19 23:02:00

标签: java google-app-engine cursor google-cloud-datastore

如果我想查询从第一个元素到第10个元素的结果,startCursor应该设置为什么?

我知道startCursor应该是一个Cursor对象,但我应该将它设置为什么值?

我的实体ID是从1开始的原始整数。

如果有必要提供更多信息,请发表评论。

1 个答案:

答案 0 :(得分:1)

当您拥有它时,可以在查询上设置光标。否则,你根本就没有设置它 - 这将从一开始就进行查询。

例如:

Query q = new Query("Person");
QueryResultList<Entity> results;
Cursor cursor = null;
FetchOptions queryOptions = FetchOptions.Builder.withChunkSize(500);

do {
    if (cursor != null) {
        queryOptions.startCursor(cursor);
    }
    results = datastore.prepare(q).asQueryResultList(queryOptions);

    for (Entity entity : results) {
        // do something
    }
    cursor = results.getCursor();

} while (results.size() == 500);