【问题标题】:How to write GQL `CONTAINS` comparator query in objectify如何在 objectify 中编写 GQL `CONTAINS` 比较器查询
【发布时间】:2019-10-11 00:33:00
【问题描述】:

我使用谷歌云数据存储来存储和物化读取数据。我使用的实体拥有一个列表属性,我想通过多个值过滤记录,只有当所有值都存在于列表中时才应返回结果

GQL 现在支持 CONTAINS 查询过滤器 link here 。我想知道如何在objectify中实现这一点

假设有三个实体持有一个列表字段

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

我如何编写一个使用包含的对象化查询。例如,ofy().load().type( Entity.class ).filter( "list contains" , queryList ).list();,只返回实体 1 和 2

我熟悉IN过滤器ofy().load().type( Entity.class ).filter( "list in" , queryList ).list(); 将返回所有三个实体。 但要求是仅获取同时具有id1id2 的实体

【问题讨论】:

    标签: google-app-engine google-cloud-datastore objectify gql


    【解决方案1】:

    您需要使用 AND 查询,应该是 ...filter("list", "id1").filter("list", "id2")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      • 2021-01-16
      相关资源
      最近更新 更多