繁体   English   中英

使用Java随机查询Google App Engine数据存储区实体

[英]Random querying for Google App Engine Datastore entities using Java

假设我的数据存储区中有100个实体。

我已经根据使用“年龄”的属性对查询进行了排序,

Query q = new Query("EntityTYPE").addSort("age", SortDirection.DESCENDING);

我从另一个函数有一个变量startPoint,它告诉我所需结果的起点。

现在,我需要从已排序的查询中查询10个实体(从startPoint到startPoint + 10)。

示例:如果startPoint = 51,则我需要结果实体具有已排序查询的51-61行的值。

如何用Java实现呢?

如果需要进一步的信息,请发表评论。

做这样的事情的方法是使用“偏移”。 不幸的是,它实现的补偿方式并没有“跳过” 1-50。 它将读取它们(使您的每日配额/预算花费一读),然后返回以下结果。 它会做您想要的,但不幸的是,它仍然会向您收费,

你必须写一些像

List<Entity> getRandomEntities() {
   DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();

  Query queryForEntities = new Query("Entity");

  PreparedQuery preppedEntityQuery = datastore.prepare(q);
  return preppedEntityQuery.asList(FetchOptions.Builder.withOffset([OFFSET_YOU_WANT]).withLimit([AMOUNT_YOU_WANT]));
}

如果需要其他信息,请查看信息:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM