【问题标题】:GQL with node.js使用 node.js 的 GQL
【发布时间】:2016-01-19 15:01:23
【问题描述】:

是否有在 Node.js 中使用 Google Datastore GQL 的工作示例?

文档中的示例包含一个似乎不存在的 .execute 函数。

https://cloud.google.com/datastore/docs/concepts/gql

因此,我尝试使用常规回调方法,但 GQL 语句没有被拾取。 我尝试使用 gql_query 和 gqlQuery 作为资源参数名称,但无济于事。

store.datasets.runQuery(
        {
            "resource":
            {
                "gqlQuery":
                {
                    "queryString":"SELECT * from Messages LIMIT 50",
                    "allowLiterals":true
                }
            }

        }, 
        function(err, result, endCursor, apiResponse)
        {
...
    }

【问题讨论】:

  • 请问你有没有想到这个?
  • 是的,GQL 通常是错误的方法。它非常有限,并且具有不明显的语法细微差别恕我直言。我最终使用了数据存储 API 库,因为它的行为更加简单易懂。
  • 谢谢!我对生成查询(如 ORM)的可能性感到兴奋。
  • @sradforth 我不明白你怎么能说 GQL 受限于 Datastore API。 Datastore API 不支持像“或”运算符这样简单的事情......另一个是默认索引不允许在存在不等式运算符的情况下使用多个过滤器进行查询......

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


【解决方案1】:

看起来他们已经添加了 Ruby,但仍然没有 Node.js :(

幸运的是,我需要 GQL CONTAINS.filter('foo', '=', 'bar') 的等效项(在一个数组值上)似乎工作正常。

【讨论】:

    【解决方案2】:

    我可能已经找到答案了:

    The docs 表示“... Google Cloud Client Library for Java 支持 GQL,但其他 Google Cloud 客户端库不支持。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-20
      • 2019-06-25
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 2019-09-11
      • 2011-04-21
      • 2011-09-29
      相关资源
      最近更新 更多