【问题标题】:Is there a function to submit a wildcard search request via firebase firestore?是否有通过 firebase firestore 提交通配符搜索请求的功能?
【发布时间】:2020-08-26 20:47:38
【问题描述】:

例如,使用查询字符串a* 查询集合foo 应返回集合中以字母a 开头的任何项目。我在 firebase firestore 集合中有美国的集合,它通过 firestore API 连接到用 Swift 编写的 iOS 应用程序。在 SearchResultsViewController 内部,用户应该能够通过该状态的子字符串搜索该状态。例如,当用户在 searchText 字段中键入 a 时,返回给他们的结果应该是 [Alabama, Alaska, Arizona, Arkansas],因为这些状态以字母 a 开头。每个文档都有一个 id,它是 firebase 给出的 Auto-ID,名称是 name 字段,其中包含状态名称。查询将针对文档的名称字段运行。

【问题讨论】:

  • 请编辑问题以更清楚地了解您要做什么。一个例子会很有帮助。知道您使用的是什么语言也很好。
  • 问题得到改善后,答案将是“不,不适合任意通配符”。如果您可以将要求限制为查找枚举的少数子字符串或按词法排序的记录子数组,那么可以。
  • @danh 这不一定是硬“不”,具体取决于具体要求。但它肯定不会是通配符语法。
  • 我还是不清楚。您是说州名是文件的ID吗?或者您正在使用文档中的字段进行搜索?如果您提供有关文档结构的更多详细信息,将会有所帮助。

标签: swift google-cloud-firestore


【解决方案1】:

假设文档中有 stateName 属性(而不是文档的 id),可以使用一对 whereField 不等式返回词法排序的子范围...

collectionRef.whereField("stateName", isGreaterThanOrEqualTo: "A")
collectionRef.whereField("stateName", isLessThan: "B")

请注意,这不是任意通配符。它仅适用于字符串的开头,并按字母顺序回答范围内的任何内容。

【讨论】:

    猜你喜欢
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多