【问题标题】:can you search multiple fields at once with datastore您可以使用数据存储一次搜索多个字段吗
【发布时间】:2011-04-22 03:55:53
【问题描述】:

在我为 GAE 设计的应用程序中,我想要一个全向搜索栏。

据我了解数据存储如何存储记录,它基本上是哈希图的哈希图。所以我有一个键,然后看起来(为了概念简单)一个字符串,该字符串将是一个值的 JSON 返回。

在关系数据库世界中,如果我想同时搜索名字和姓氏,我必须有这样的东西

select * from user where user.firstname like 'bob' or user.lastname like 'bob'

使用数据存储,我可以做类似的事情

select from user where user.anyfield like 'bob'

它会搜索用户实体的所有字段,并自动返回 user.firstname 和/或 user.lastname 类似于 'bob' 的任何记录?

【问题讨论】:

标签: google-app-engine google-cloud-datastore


【解决方案1】:

App Engine 不支持 OR,但正如 Nick 建议的 here,您可以通过查询名字和姓氏并组合结果来完成相同的操作。

您也不能直接进行LIKE 比较,但可以进行“开始于”查询,如here 所示。

【讨论】:

    【解决方案2】:

    有一种解决方案可以完全满足您的需求。它使用列表属性和关系索引实体。

    您可以在我的博客here 中找到使用 Objectify 的实现示例。要了解有关关系索引实体的更多信息,请参阅此 Google IO track

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多