Flutter Firestore-类型“ QueryDocumentSnapshot”不是类型“ List <dynamic>”的子类型

时间:2020-10-14 03:28:56

标签: flutter google-cloud-firestore

我正在对firestore集合进行分页查询。下面的查询在第一个查询上没有.startAfter(lastVisible)的情况下可以正常工作,但是当我们进入下面显示的第二个查询时,它会在构建带有错误的查询时崩溃:

未处理的异常:类型'QueryDocumentSnapshot'不是类型'List '的子类型

当我在IDE上查看快速访问时,它告诉我Query startAfter(List<dynamic>)在寻找List 的参数,但是官方API表示要传递startAfter()您想要的项目的DocumentSnapshot之后开始,这就是我(认为)在下面提供的代码的最后一行中将lastVisible设置为的内容。 details

如果我尝试在列表中声明它,.startAfter([lastVisible])我得到:Invalid argument: Instance of 'QueryDocumentSnapshot指向.get()处的行

感谢您的帮助。

response = await FirebaseFirestore.instance
  .collection('referrals')
  .where("toUID", isEqualTo: memberID)
  .orderBy('dateTime', descending: true)
  .limit(ReferralListController.PAGE_SIZE)
  .startAfter(lastVisible) // < ---------  crashes here??
  .get();

lastVisible = response.docs[response.docs.length - 1]; // < --  where I set lastVisible  ?? 

1 个答案:

答案 0 :(得分:0)

Query.startAfter() method将文档值的列表作为其参数。您正在寻找Query.startAfterDocument