flutter - Firestore 中是否有可以获取文档及其相邻文档的方法?
问题描述
在 Firestore 中,我们需要使用类似startAt
或endAt
with的东西limit
从集合中文档列表中的给定点获取先前或先前的数据。我们需要获取两次来获取相邻的文档(一次用于之前的数据,一次用于之后的数据)然后我们需要将它们组合到列表中,这可能容易出错
我想知道是否有办法在 Flutter Firestore 中获取相应文档及其相邻文档?就像是.getDocumentWithAdjacent
Firestore.instance.collection('restaurants').document(docId)
.getDocumentWithAdjacent(previousCount: 3, afterCount: 6); // will fetch 10 documents
上面的命令将获取 10 个文档:3 个先前的文档、文档本身和 6 个先前的文档。
只是进一步的解释和用例:就像 Instagram 应用程序一样,用户可以点击帖子来查看其详细信息。然后用户可以轻松地上下滚动查看相邻帖子的详细信息,因为当用户点击帖子时,该帖子之前和之后的一些数据也会被加载。
另一个例子:一个餐厅搜索应用程序,显示一个地区的餐厅列表。当用户点击餐厅列表中间的某个位置时,会显示餐厅详细信息,但用户希望滚动(水平或垂直)以查看列表中的相邻餐厅,因此我们需要加载数据那也。
谢谢
解决方案
Firestore 没有您描述的“相邻”文档的概念。
您可以做的是进行两个查询。一个用于大于给定文档的文档,另一个用于小于给定文档的文档。
推荐阅读
- asp.net-core - 如何使用 AD / LDAP 管理 ASP.NET Core 中的用户?我是否将用户存储在数据库中?
- c++ - 我正在使用 std::bitset 并尝试创建两个大小为 100,000,000,000 的数组 std::bitset
- python - 是否可以在 selenium 上以隐身模式预加载缓存/图像?
- python-3.x - 我想在图像(隐写术)中传递加密文本,然后再次提取该加密文本,然后解密它
- javascript - 隐藏 HTML 网站中的内容而不向前端用户透露
- android - 如果我上传了具有不同签名的 apk,Google Play 商店会通知我吗?
- javascript - 试图捕获与代码无关的错误,而是诸如互联网无法正常工作的错误,我该怎么做?
- ruby-on-rails - ruby unicorn 作为 docker 中的服务 - 使用错误的 rake
- python - python-pptx画一条竖线
- javascript - 如何使用带有 TypeScript 的 keyof 访问器定义返回类型?