【问题标题】:How to query to more than one ancestor on google cloud datastore?如何在谷歌云数据存储上查询多个祖先?
【发布时间】:2017-03-10 05:50:53
【问题描述】:

我需要检索多个祖先的对象。如何仅在一个查询中检索它?

例如,检索具有祖先 A 或祖先 B 或祖先 C 的所有对象。

【问题讨论】:

    标签: google-cloud-datastore google-cloud-platform data-modeling


    【解决方案1】:

    您不能 - 您需要为每个祖先发出单独的查询。

    解决方法

    根据您要达到的目标,有几种方法可以解决此限制。

    请注意,所有这些变通方法都将失去祖先查询提供的“强一致性”承诺,即 A、B 和 C 实体组中的实体之间的结果将不会强一致。

    1。 Kindle 查询

    如果您实际上尝试查询所有对象而不考虑祖先,您可以发出 kindless 查询 - 在 GQL 中这是 SELECT *

    2。索引一个新的属性

    如果您事先知道需要查询的祖先集,则可以在最初编写实体时为布尔属性编制索引。例如,创建一个名为is_abc 的新属性,如果它有任何一个作为祖先,则将其设置为True。然后,您可以使用此属性来查询这 3 个实体下的所有实体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多