java.lang.IllegalArgumentException:第一个排序属性必须与应用不等式过滤器的属性相同。在您的查询中,第一个排序属性是投票,但不等式过滤器在 createdDate
当我尝试运行下面的代码时出现此错误。有解决这个问题的方法吗?
Query query = new Query("Post");
long timeAgo = now - timeLimit;
Filter categoryFilter = new FilterPredicate("postCategory", FilterOperator.EQUAL, category);
Filter createdDateFilter = new FilterPredicate("createdDate", FilterOperator.GREATER_THAN, timeAgo);
Filter compositeFilter = CompositeFilterOperator.and(categoryFilter, createdDateFilter);
query.setFilter(compositeFilter);
query.addSort("vote", SortDirection.DESCENDING);
List<Entity> postsEntityList = datastore.prepare(query).asList(FetchOptions.Builder.withOffset(offset).limit(limit));
上面的代码试图根据类别和在过去 24 小时内创建的 Post 实体获取列表。然后按他们有多少票对他们进行排序。它也有分页的限制和偏移。