【问题标题】:Conditionally build a Google Datastore query有条件地构建 Google Datastore 查询
【发布时间】:2020-05-30 14:00:13
【问题描述】:

我将如何以编程方式构建谷歌数据存储查询?我正在尝试基于 Rails 应用程序中的表单中的参数构建过滤器。

使用谷歌文档中的示例:

query = datastore.query("Task")
             .where("done", "=", false)
             .where("priority", ">=", 4)
             .order("priority", :desc)

如果想更改它以使“完成”包含真值和假值,我已经尝试了这种变化,但没有任何乐趣:

query = datastore.query("Task")
         .where("done", "=", false) unless params['done'] == 'ALL'
         .where("priority", ">=", 4)
         .order("priority", :desc)

我需要能够对所有 where 子句执行此操作。

【问题讨论】:

    标签: ruby-on-rails ruby google-cloud-datastore


    【解决方案1】:

    由于数据存储不支持 OR 运算符,您必须执行多个查询,然后组合结果。

    一个检查 .where("done", "=", false) 和另一个 .where("done", "=", true)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      • 2018-04-23
      • 2015-05-11
      • 1970-01-01
      • 2010-10-25
      • 2020-01-27
      • 2019-03-14
      相关资源
      最近更新 更多