比较GQL中的两个不同属性

时间:2015-06-19 00:12:02

标签: google-cloud-datastore gql

以下两个GQL查询有效:

SELECT * FROM Customer WHERE FirstName = "John"
SELECT * FROM Customer WHERE Rating > 4.0

但是,当我把它们结合起来......

SELECT * FROM Customer WHERE FirstName = "John" AND Rating > 4.0

...我得到一个空的结果集,即使单独运行查询找到我正在寻找的实体。我如何比较多个属性?

这就是我所做的:

  • 我确保至少有一个实体存在,两者都是真的。

gql

  • 我为属性创建了一个索引:

enter image description here

1 个答案:

答案 0 :(得分:3)

Google的Patrick Costello回答了我的问题:

  

您需要准确的索引(FirstName,Rating)。您当前的索引无法回答该查询。

基本上,问题是我在所有属性上创建了一个索引。但是,查询的每个“类型”(在这种情况下,比较FirstName和Rating的查询)需要其自己的索引(即仅具有FirstName和Rating的索引)。我希望这有助于某人!