繁体   English   中英

使用 flutter 从 firestore 检索数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM