在Google DataStore GQL中,如何对WHERE术语进行分组?

时间:2018-04-16 13:57:45

标签: google-cloud-datastore gql

我需要在WHERE子句中对术语进行分组。例如,

WHERE (param1='foo1' OR param1='foo2') AND (param2='bar1' OR param2='bar2')

但它给我一个语法错误,说括号是“意外的”。实际错误是:

GQL query error: Encountered "(" at line 1, column 29. Was expecting one of: "false", "null", "true", <INTEGER>, <DOUBLE>, <SINGLE_QUOTE_STRING>, <DOUBLE_QUOTE_STRING>, <UNQUOTED_NAME>, <QUOTED_NAME>, <NAME_BINDING_SITE>, <POSITION_BINDING_SITE>

那么,我有什么方法可以运行该查询吗?

1 个答案:

答案 0 :(得分:1)

我相信你面临的问题来自OR运算符 - GQL没有运算符,因此你在paranthesis中的条件在语法上是不正确的。

Clauses表中的WHERE行(强调我的):

  

将结果集限制为满足一个或多个的实体   条件。每个条件都将实体的属性与a进行比较   使用比较运算符的值。如果组合多个条件   使用 AND 关键字,然后实体必须满足所有   查询返回的条件。 GQL没有OR   操作