按父键查询实体

时间:2017-06-22 19:58:09

标签: node.js google-cloud-datastore google-cloud-platform

我希望通过父密钥查询数据存储区实体(即,返回密钥为父密钥下的1个路径段的实体)。我知道我可以使用HAS_ANCESTOR查询来获取父级和所有后代,但我只想要直接的孩子。

我希望__parent__属性可用于此目的,但这似乎不起作用:

{propertyFilter: {
  property: {name: '__parent__'},
  op: 'EQUAL',
  value: {keyValue: {
    partitionId: {projectId: 'myproject'},
    path: [{kind: 'row', name: 'parent'}]
  }}
}

我知道我也可以在每个实体中记录一个深度属性来实现这一目标,但如果数据存储本身使用密钥本身支持这样的查询,我宁愿不这样做。

1 个答案:

答案 0 :(得分:1)

不,目前不支持此功能。如果孩子的类型对于特定深度是唯一的,您可以使用它,否则您需要创建一个复合索引,其中包括索引深度'你提到的财产。