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



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

我已经根据属性对我的查询进行了排序,例如"年龄"

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

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

现在我需要从排序查询中查询 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]));
}

如果您需要其他信息,请查看此内容:)

最新更新