[英]retrieve data from firestore with flutter
我想将数据从 firestore 检索到 flutter 应用程序。 我有很多数据。 所以我不想一次处理所有数据。 我想一次获取前 10 个文档,当按下加载更多时,它应该再提供 10 个文档,依此类推。 我试过这种方式。
var myWhishlist;
late QuerySnapshot snap;
late CollectionReference userDoc;
retrieve() async {
userDoc = FirebaseFirestore.instance
.collection('user/' + Uid + "/myItems");
snap = await userDoc.where('isPaid', isEqualTo: false).limit(10).get();
myWhishlist = snap.docs.map((e) => e.id).toList();
}
这样我得到了前 10 个文档。 如何获取接下来的 10 个文件? 有什么方法可以得到这样的吗? 有人能帮我吗?
提前致谢。
看看paginate_firestore
package https://pub.dev/packages/paginate_firestore
您现在所做的是正确的,您的代码会将结果限制为 10。如果您想要更多结果,您可以使用或startAfterDocument
并传递从上次提取中检索到的最后一个document
的文档。
我建议创建一个独立的方法,即
Future<QuerySnapshot> example (DocumentSnapshot? document) async {...etc}
如果您不向它传递字符串,请使用 limit 运行您的普通查询。 如果传递的是字符串,请使用startAfterDocument
标志。
snap = await userDoc.where('isPaid', isEqualTo: false).limit(10).startAfterDocument(documentSnapshot).get();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.