Использование составных фильтров хранилища данных в запросе Objectify - PullRequest
0 голосов
/ 19 сентября 2018

Я нахожусь в процессе определения запроса, в котором один из фильтров может иметь несколько значений (что естественно переводит в OR).Однако, как я понял, фильтры запросов в Objectify объединены в операцию AND, и даже оператор 'in' не поддерживается базовым SDK Google Cloud в версии 6.

Iя пытаюсь использовать составные фильтры Datastore для удовлетворения моих потребностей, поскольку это может быть возможностью агрегировать предикаты с помощью оператора OR, а затем передавать созданный объект Filter в метод Objectify Query.filter().

Теперь вотпроблема: объект Filter, созданный с использованием составных фильтров, отличается от объекта, принятого методом Objectify .filter(), последний является вложенным классом StructuredQuery.

Можно ли использовать составные фильтры в Objectifyзапрос?Если это так, я был бы признателен за пример того, как действовать.

1 Ответ

0 голосов
/ 21 сентября 2018

Я думаю, вы путаете новую клиентскую библиотеку Java Cloud Datastore (используемую Objectify6) со старым SDK Google App Engine (используется Objectify5).

Старый GAE SDK поддерживает OR фильтры.Нового нет (пока).Вы можете запросить эту функцию у Google здесь: https://github.com/GoogleCloudPlatform/google-cloud-java

В качестве отступления: я считаю, что старый SDK фактически обрабатывал OR фильтры, выполняя два отдельных запроса и объединяя результаты на стороне клиента.Вы можете сделать что-то подобное самостоятельно, если вы спешите и не хотите возвращаться к старому GAE SDK (который работает только в стандарте GAE).

...