在谷歌云数据存储区中有一个ANCESTOR和HAS DESCENDANT条款

时间:2013-12-12 20:11:38

标签: gql google-cloud-datastore

我正在研究Google Cloud Datastore GQL grammar - 特别是HAS ANCESTORHAS DESCENDANT比较运算符。

提供以下实体:

  • 艾米
  • Fred,parent = Amy
  • 劳拉,父母=艾米
  • Agnes ......

下面的GQL查询会产生相同的输出吗?

SELECT * FROM Person WHERE key_name='Fred' HAS ANCESTOR KEY('Person', 'Amy')

SELECT * FROM Person WHERE KEY('Person', 'Amy') HAS DESCENDANT key_name='Fred'

如果是这样,我不了解HAS DESCENDANT条款的存在。

提前致谢!

1 个答案:

答案 0 :(得分:2)

这两个GQL查询应该产生相同的结果:

SELECT * FROM Person WHERE __key__ HAS ANCESTOR KEY('Person', 'Amy')
SELECT * FROM Person WHERE KEY('Person', 'Amy') HAS DESCENDANT __key__