Фильтр запроса Objectify по списку ключей, у которых есть родитель

Я хотел бы создать метод Api через Google App Engine (Objectify), который возвращает CollectionResponse сообщений людей, на которых я подписан, отсортированных по убыванию по дате.

У меня есть сущностьPost и сущностьProfile оба из которых имеютLong id как их ключ.

Post У объекта есть следующее свойство, указывающее, что у него есть родительский объект:

@Parent
private Key<Profile> profileKey;

Profile Сущность имеет следующее свойство храненияList изidПрофиль людей следующий:

// Ids of the profiles this person follows
private List<Long> following = new ArrayList<>(0);

Я думал тогда, я мог бы сделать что-то вроде этого:

    List<Long> idsProfile = profile.getFollowing();

    Query<Goal> query = ofy().load().type(Post.class)
                    .order("-createdDate") 
                    .filterKey("in", idsProfile) 
                    .limit(Constants.DEFAULT_LIST_LIMIT);

            if (cursor != null) {
                query = query.startAt(Cursor.fromWebSafeString(cursor));
            }

            QueryResultIterator<Goal> queryIterator = query.iterator();
            List<Post> postList = new ArrayList<Post>(Constants.DEFAULT_LIST_LIMIT);
            while (queryIterator.hasNext()) {
                postList.add(queryIterator.next());
            }

            return CollectionResponse.<Post>builder().setItems(postList).setNextPageToken(queryIterator.getCursor().toWebSafeString()).build();

То, что я делаю здесь, это получениеList из всехidизProfileэто то, что кто-то следит и пытается запросить и отфильтроватьList только вернутьPostот этих пользователей.

Но я получаю эту ошибку:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "badRequest",
    "message": "java.lang.IllegalArgumentException: __key__ filter value must be a Key"
   }
  ],
  "code": 400,
  "message": "java.lang.IllegalArgumentException: __key__ filter value must be a Key"
 }
}

Я пробовал разные вещи в.filterKey("in", idsProfile) немного, но не могу заставить его работать.

Может ли кто-нибудь помочь мне с этой частью сделать эту работу? Спасибо!

Ответы на вопрос(0)

Ваш ответ на вопрос