[英]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.