【问题标题】:Flutter: Auto Complete search bar with data from 3 different Firestore collectionFlutter:自动完成搜索栏,其中包含来自 3 个不同 Firestore 集合的数据
【发布时间】:2021-06-07 14:02:42
【问题描述】:

我想要一个自动完成搜索应用栏,其中的数据来自 3 个集合,每个集合中都有 2 个字段。我想从 3 个集合中获取所有文档,并将 2 个字段显示为建议列表的标题和副标题。 3、集合如何获取建议数据?

【问题讨论】:

    标签: flutter dart search google-cloud-firestore autocomplete


    【解决方案1】:

    我找不到一次分别从 3 个集合中获取数据的方法,所以用另一种方法我不知道它是否是最有效的方法。不过,它可能会对您有所帮助。

    让你拥有三个集合A、B、C 所以我所做的是我创建了另一个常见的集合,即 X

    因此,当您使用函数 addDataToA() 或 addDataToB() 或 addDataToC() 时,还要在其中包含 X,例如: addDataToA( addDataToX(); ) B和C类似, 现在,正如您在添加数据时所做的那样,您也可以对更新、创建和删除进行操作。

    为了更方便,我在集合 A、B、C 的文档中添加了一个名为 type 的字段,我在其中编写了 A、B、C,以便在通过集合 X 检索数据时,您还可以知道它来自哪个集合来了。

    希望对你有帮助,如有疑问请在下方评论中提问。

    【讨论】:

      【解决方案2】:

      如果 3 个集合都具有相同的名称,请考虑使用 collection group query 来搜索它们。

      如果它们具有不同的名称,或者如果您不想搜索更多同名的集合,则必须分别查询这 3 个集合中的每一个,并将结果合并到您的应用程序代码中。

      【讨论】:

      • 如何查询并合并?合并后的数据如何传输到搜索栏?
      • 通过快速搜索stackoverflow.com/…StreamZip 看起来很有希望。
      • 嘿@Jagadish。你有什么收获吗?
      • 不,我无法从 Firestore 中创建自动完成文本字段。你能在任何地方找到这个吗?但是我通过将添加到这 3 个集合中的数据添加到一个公共集合中来从 3 个集合中获取数据。
      • 好的,这听起来也是一个解决方案。如果您发布有关如何合并集合的自我回答,这可能会有所帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-07
      • 2021-07-26
      • 1970-01-01
      • 2014-03-20
      • 2020-03-22
      • 2020-06-19
      相关资源
      最近更新 更多