【问题标题】:Making 'OR' Queries in Google App Engine Data Model在 Google App Engine 数据模型中进行“或”查询
【发布时间】:2011-07-20 14:20:20
【问题描述】:

我想进行这样的查询“从地址=“”或年龄=“”的人中选择姓名。这在 GAE 模型中是否可能。所有事物都包括 AND 闭包而不是 OR。我如何使用 JDO/JPA、Objectify 来做到这一点。提前致谢

【问题讨论】:

    标签: google-app-engine objectify


    【解决方案1】:

    数据存储上没有“OR”操作。您必须执行两个单独的查询并在您自己的代码中找到交集。

    http://code.google.com/appengine/docs/python/datastore/gqlreference.html

    【讨论】:

    • 我想这是最简单的方法。 2 个查询然后将结果放入一个集合中。谢谢你的帮助
    • 我知道这是一篇旧帖子,但对于那些偶然发现这个的人来说......在一些情况下,使用自定义条件似乎是一个复杂的解决方法(见github.com/objectify/objectify/wiki/Queries)。您可以使用 PojoIf 创建索引并将 OR 放在 PojoIf 中。但是,要使用此索引,您似乎需要在查询中的这两个字段之一上使用额外的过滤器或顺序。此外,使用这些字段进行过滤或排序的任何其他查询都可能使用该索引。可能比它的价值更多的麻烦,但只是一个想法。
    • @rimsky 看起来工作量很大。我想知道为什么一个简单的或不存在。为某些人做两次查询对某些人来说可能会成为一个大问题。
    【解决方案2】:

    我建议任何对 GAE 数据存储模型有困难的人都可以观看此视频。它解释了它是如何工作的,然后你就会明白为什么存在限制

    http://sites.google.com/site/io/under-the-covers-of-the-google-app-engine-datastore

    【讨论】:

      猜你喜欢
      • 2011-07-16
      • 1970-01-01
      • 2013-05-17
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      相关资源
      最近更新 更多