我想在 GAE 的 GQL 中运行此查询。
select * from Content where masterContentTypeId not in (select id from MasterContentType)
这里内部查询中,“id”是整数类型,由GAE生成。
但它给出了错误
GQL query error: Encountered "not" at line 1, column 49. Was expecting one of: "contains" ... "has" ... "is" ... "=" ... "<" ... "<=" ... ">" ... ">=" ... "." ... "(" .
如何才能做出正确的查询?
你不能。 Google Datastore 和 GQL 既不支持
NOT IN
查询,也不支持子查询。
有GQL语法可供参考:https://cloud.google.com/datastore/docs/apis/gql/gql_reference#grammar
任何想知道新时代的人:
你可以使用新的库。我已经检查了 Py 和 Go(在产品中使用它)
->
operator (str) – One of =, <, <=, >, >=, !=, IN, NOT_IN.