我使用Google Cloud数据存储来存储和物化以读取数据。我使用的实体拥有一个list属性,并且我想通过多个值过滤记录,并且仅当所有值都存在于列表中时才应返回结果
GQL现在支持CONTAINS查询过滤器link here。我想知道如何在对象化中实现
假设有三个实体拥有一个列表字段
(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();
将返回所有三个实体。
但是要求是仅提取同时具有id1
和id2
答案 0 :(得分:0)
您将要使用AND查询,该查询应为...filter("list", "id1").filter("list", "id2")