从Firestore获取前两个文档后,我正尝试获取下两个文档
这就是我要尝试的方法:-
class DatabaseService {
final String uid;
DatabaseService({this.uid});
// collection reference
final CollectionReference profile =
Firestore.instance.collection('profileData');
int pagesize = 10;
String globaldistrict;
DocumentSnapshot lastsnap;
List<UserProfileData> userProfileListFromSnapshot(QuerySnapshot snapshot) {
return snapshot.documents.map((doc) {
return UserProfileData(
uid: doc.data['uid'],
name: doc.data['name'] ?? '',
district: doc.data['district'] ?? '',
phoneNumber: doc.data['phoneNumber'] ?? null,
address: doc.data['address'] ?? '',
profilePic: doc.data['profilePic'],
location: doc.data['location'] ?? null);
}).toList();
}
// ################## get profile list stream ##################
Stream<List<UserProfileData>> userprofilelist(String district) {
Query profilesquery =
profile.orderBy('name').where('district', isEqualTo: district).limit(2);
Stream<QuerySnapshot> profilesnap = profilesquery.snapshots();
profilesnap.listen((event) {
lastsnap = event.documents[event.documents.length - 1];
});
return profilesnap.map(userProfileListFromSnapshot);
}
Stream<List<UserProfileData>> moreuserprofilelist() {
Stream<QuerySnapshot> moreprofilesnap = profile
.orderBy('name')
.startAfterDocument(lastsnap)
.where('district', isEqualTo: globaldistrict)
.limit(2)
.snapshots();
return moreprofilesnap.map(userProfileListFromSnapshot);
}
}
但是我遇到这样的错误:-
错误'package:cloud_firestore / src / query.dart':断言失败:第226行pos 12:'documentSnapshot!= null':不正确。
如何获取第一流的最后一个文档,以便从那里开始下一个查询?