这个AppEngine任务似乎应该是微不足道的,但我还没有完成它。我在GrandParent / Parent / Child关系中有一些数据:
EntityName Key
----------- -------
GrandParent W
GrandParent X
Parent W.A
Parent X.A
Parent X.B
Child W.A.i
Child X.A.i
Child X.A.ii <=== matches X.*.ii
Child X.A.iii
Child X.B.i
Child X.B.ii <=== matches X.*.ii
我正在尝试构建一个匹配所有具有键X。*。ii的子项的查询。换句话说,它将从上面返回键X.A.ii和X.B.ii,而不是别的。我正在使用低级查询机制,到目前为止我所拥有的是:
Entity gpX = new Entity("GrandParent","X");
Query q = new Query("Child");
q.setAncestor(gpX.getKey());
返回五个孩子。如果i / ii / iii属性是属性而不是密钥,这将是微不足道的,但它是一个关键,我不清楚如何指定'ii'是搜索条件。
答案 0 :(得分:0)
如果没有单独的财产,就没有办法做到这一点。 App Engine数据存储区中的所有过滤器必须是相等或范围测试(相当于字符串前缀测试);不可能按照您使用单个过滤器描述的方式进行过滤。