Объективировать проекционный запрос, используя ключи

1

Как запустить запрос проекции с помощью клавиш? Я хотел бы иметь возможность выбирать, используя список ключей, а затем проект по свойству.

ofy().load().type(Entity.class).filterKey(" in ", keys).project("property1")

Я получил сообщение об ошибке: "__key_ _ in" не является условием законного фильтра

Also I tried to query by ids which also did not work.

// convert keys to ids
// ...
// ...

ofy().load.type(Entity.class).filter(" id in ", ids).project("property1");

У меня появилось сообщение об ошибке: я не могу использовать id в фильтре.

Я помню, что смог сделать это, используя низкоуровневое хранилище данных api. Пожалуйста, дайте мне знать, если есть способ использования объективации.

С Уважением,

Sathya

Теги:
google-app-engine
google-cloud-datastore
objectify

1 ответ

1
Лучший ответ

Избавьтесь от лишних пробелов в filterKey(" in ",...). Он должен быть filterKey("in",...).

Мне никогда не приходило в голову, что кто-то попробует что-то такое странное. И, по-видимому, Java String.split() педантичен для разбиения на каждый экземпляр символов. Спасибо, что обнаружили эту ошибку; исправление будет в следующей версии Objectify (5.0.4).

Тем временем перестаньте делать немые вещи с пробелами.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню