首页 > 解决方案 > Firestore 中是否有可以获取文档及其相邻文档的方法?

问题描述

在 Firestore 中,我们需要使用类似startAtendAtwith的东西limit从集合中文档列表中的给定点获取先前或先前的数据。我们需要获取两次来获取相邻的文档(一次用于之前的数据,一次用于之后的数据)然后我们需要将它们组合到列表中,这可能容易出错

我想知道是否有办法在 Flutter Firestore 中获取相应文档及其相邻文档?就像是.getDocumentWithAdjacent

Firestore.instance.collection('restaurants').document(docId)
   .getDocumentWithAdjacent(previousCount: 3, afterCount: 6); // will fetch 10 documents

上面的命令将获取 10 个文档:3 个先前的文档、文档本身和 6 个先前的文档。

只是进一步的解释和用例:就像 Instagram 应用程序一样,用户可以点击帖子来查看其详细信息。然后用户可以轻松地上下滚动查看相邻帖子的详细信息,因为当用户点击帖子时,该帖子之前和之后的一些数据也会被加载。

另一个例子:一个餐厅搜索应用程序,显示一个地区的餐厅列表。当用户点击餐厅列表中间的某个位置时,会显示餐厅详细信息,但用户希望滚动(水平或垂直)以查看列表中的相邻餐厅,因此我们需要加载数据那也。

谢谢

标签: fluttergoogle-cloud-firestore

解决方案


Firestore 没有您描述的“相邻”文档的概念。

您可以做的是进行两个查询。一个用于大于给定文档的文档,另一个用于小于给定文档的文档。


推荐阅读