当前位置: 首页 > 知识库问答 >
问题:

颤振

杜俊楚
2023-03-14

我可以使用“startAfter”和“limit”进行分页,但它有错误。

例如,在Firestore DB中,我有7条记录:

{"title": "item1", "create_datetime": "2018-11-11 11:11:11"}
{"title": "item2", "create_datetime": "2018-11-11 11:11:11"}
{"title": "item3", "create_datetime": "2018-11-11 11:11:11"}
{"title": "item4", "create_datetime": "2018-11-11 11:11:11"}
{"title": "item5", "create_datetime": "2018-11-11 11:11:11"}
{"title": "item6", "create_datetime": "2018-11-11 11:11:11"}
{"title": "item7", "create_datetime": "2018-12-22 22:22:22"}

当页面大小为5时,第一页就可以了,因为我使用了:

.orderBy('create_datetime').limit(5)

它给了我1-5项。

当它加载第二页时,我使用了:

.orderBy('create_datetime').startAfter(['2018-11-11 11:11:11']).limit(5)

问题是第二页结果只有item7,item6消失了。“开始”也有同样的问题。

真希望它有“抵消”功能,有人有解决办法吗?

共有2个答案

臧俊杰
2023-03-14

目前,flutter不支持start At(lastDocFetch)start At(anyDoc)。这是必需的,正如您所说,它从字符串匹配值开始,而不是在特定的文档中。

焦博实
2023-03-14

您的查询将始终返回item7,因为您总是在2018-11-11 11:11:11之后开始,因此它将忽略所有其他项,并转到最后一个2018-11-11 11:11:11并从那里跳过。您需要返回最后一个项目并保留对它的引用,然后在开始后使用文档引用开始。通常,flutter的开始后需要一个列表来保留对它的引用。

看看Firebase查询游标

 类似资料:
  • Xcode的输出:在文件中包含从 /Users/dani/development/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.0.3/ios/Classes/FLTURLLauncherPlugin.m: 7: /Users/dani/development/flutter/.pub-cache/hosted/pub.dart

  • 当我试图添加google_sign_in时,flutter_authcloud_firestore它给我带来了一个错误:” [✓] 颤振(通道稳定,v1.5.4-hotfix.2,Linux上,locale en_US.UTF-8)•颤振版本1.5。4-hotfix。2 at/home/ramu/Downloads/tools/颤振•框架版本7a4c33425d(4周前),2019-04-29 1

  • 我想问一下IOS的实施情况 当前场景:基本上,我已经在android平台上开发了该应用程序,现在我想将其转换为IOS平台。由于这是我的第一个应用程序,我真的需要一些有经验的声音来解决我面临的一些问题。 问题: 1-是否有任何简单的方法来检测当前使用的Widget是Android/IOS平台?我们如何才能确定特定的小部件是Android平台的,并且在IOS平台上不工作,反之亦然。 2 -如果我们以某

  • 目前我正在尝试颤振网页,我需要在颤振主频道工作。但是,后来我需要继续我的其他项目。在他们身上,我正在研究颤振稳定通道。 但是,每当我使用命令“flutter channel stable”或“fluter channel master”切换我的flutter通道时,它每次都会重新下载sdk和其他工具。 目前,我已经下载了稳定的颤振sdk和稳定的dart sdk。 我已将它们移动到“FlutterS

  • 我尝试使用此插件裁剪图像,并在iOS上效果很好,但在Android上,应用程序会崩溃。控制台像这样说。 有人知道怎么修理这个吗?

  • 我想制作这张我已经分成列的卡片(扩展小部件),我面临的问题是:我无法将颜色容器(右侧列的父)设置为全高,所以只有一部分显示彩色背景。 我所拥有的: > 我尝试了Flutter Inspector工具,并注意到容器及其子列没有得到完全的高度(即使在键入mainaxissize:mainaxissize.max之后) 代码: