如何使用祖先键列表

时间:2016-12-13 00:09:38

标签: google-cloud-datastore gql

我在Google Cloud Datastore中拥有以下数据模型:

Parent:
  - name

Child:
  - ancestor: Parent
  - name

我有一个Parent键列表。如何查询从Child键列表中降序的所有Parent实体?

我试过了

SELECT * FROM Child WHERE __key__ HAS ANCESTOR Key(Parent, 'abc'), Key(Parent, 'dfe')

SELECT * FROM Child WHERE __key__ HAS ANCESTOR [Key(Parent, 'abc'), Key(Parent, 'dfe')]

并且两个select语句都不起作用。

1 个答案:

答案 0 :(得分:1)

云数据存储区查询最多可以在一个祖先上运行,因此您必须将其作为两个查询运行:

SELECT * FROM Child WHERE __key__ HAS ANCESTOR Key(Parent, 'abc')
SELECT * FROM Child WHERE __key__ HAS ANCESTOR Key(Parent, 'dfe')

并合并结果。

或者,如果您可以获取所有 Child个实体,则可以运行:

SELECT * FROM Child