不是这个问题: 祖先查询解析错误
我正确地用“IS”来构造它:
SELECT DISTINCT batch_no FROM Entry WHERE ANCESTOR IS KEY('ag1kZXZ-dHRiLXRhbWVychkLEgdCcmV3ZXJ5IgxCUi1USEVSRURQRUEM')
但我仍然收到错误:
这是为什么?
在这种情况下,DISTINCT 导致了问题。删除它,此查询将按预期工作。
我认为它在某种程度上隐式投影,你无法访问密钥,只能访问你所区分的属性; 即使你使用“*”
虽然我认为可以公平地说错误消息在这一点上并不明显。
Google 在 db.Query 文档中这样说:
这只会返回具有以下属性的实体的第一个结果 所投影的属性值相同。
在 GQL 文档中
结果集中只会返回完全唯一的结果。 这只会返回具有以下属性的实体的第一个结果 所投影的属性值相同。