Как написать запрос компаратора GQL `CONTAINS` в objectify - PullRequest
0 голосов
/ 24 мая 2019

Я использую облачное хранилище данных Google для хранения и объективирования для чтения данных.Используемая мной сущность содержит свойство списка, и я хотел бы отфильтровать записи по нескольким значениям, и результаты следует возвращать, только если все значения присутствуют в списке

GQL теперь поддерживает фильтр запросов CONTAINS ссылка здесь .Я хотел бы знать, как это может быть достигнуто в objectify

Предполагая, что есть три объекта, которые содержат поле списка

(Entity1) => list = ["id1","id2","id3","id4"] 
(Entity2) => list = ["id1","id2","id3"]
(Entity3) => list = ["id1"]
queryList = ["id1","id2"]

Как мне написать запрос objectify, который использует содержит.Например, ofy().load().type( Entity.class ).filter( "list contains" , queryList ).list();, так что возвращаются только сущности 1 и 2

Мне известно, что IN filter ofy().load().type( Entity.class ).filter( "list in" , queryList ).list(); вернет все три сущности.Но требование состоит в том, чтобы выбирать только объекты, которые имеют id1 и id2

1 Ответ

0 голосов
/ 28 мая 2019

Вы хотите использовать запрос AND, который должен быть ...filter("list", "id1").filter("list", "id2")

...