如何获取文档,按照文档ID存储在某个变量listarray中的顺序,在cloud firestore firebase中?

问题描述 投票:0回答:1

我有一个名为 "A "的数组或列表,其中有文档ID。现在,我想从云firefstore带来的文档,按照他们的文档ID存储在列表 "A "中的顺序。

"whereIn:" 只按照云火库集合中的文档顺序来获取文档,但我想按照列表中提到的顺序来获取。

另外,我使用".getDocuments() "来获取数据,所以,如果有其他有效的方式来获取数据,支持离线,缓存,请告诉我,因为,可能有200到400个文档。

代码。

    List A;//Not empty :), contains ordered document ids of the collection

   QuerySnapshot snapshot = await someCollectionRef.where('/*somefieldname*/', whereIn: A).getDocuments();

    List<Users> users = snapshot.documents.map((doc) => User.fromDocument(doc)).toList();//Here converting that snapshot data into list

Please mention, if there is any other efficient way of fetching data as I am here using ".getDocuments()",which supports offline,caching.As, there may be some 200 to 400 documents.

先谢谢大家的帮助:)

firebase flutter google-cloud-firestore flutter-layout
1个回答
0
投票

这应该可以达到你想要的目的,只需改变你想在数据文档中进行比较的元素。

querySnapshot.documents.sort((a, b) {
  return a.data['id'].compareTo(b.data['id']);
});

在上面的代码中,我正在比较这些文档的ID。

© www.soinside.com 2019 - 2024. All rights reserved.