在设定的时间段后从Firebase检索随机数据

时间:2020-04-07 20:59:07

标签: firebase flutter

在我的应用中,用户将填写一个表格,然后Firebase将在10分钟后向他们发送随机文档。我不确定如何做到这一点,并且想知道是否有人可以指出我正确的方向。

感谢您的支持

1 个答案:

答案 0 :(得分:0)

不幸的是,没有超级简单的方法可以做到这一点。最好的方法是从集合中提取所有文档,将它们随机排序,然后检索第一个文档。示例代码:

//get firestore documents from collection
QuerySnapshot qs = await Firestore.instance.collection('myCollection').getDocuments();
List<DocumentSnapshot> listedQS = qs.documents; //listed documents
var random = new Random(); //dart math
//shuffle the array
for (var i = listedQS.length - 1; i > 0; i--) {
  var n = random.nextInt(i + 1);
  var temp = listedQS[i];
  listedQS[i] = listedQS[n];
  listedQS[n] = temp;
}
DocumentSnapshot randomDocument = listedQS[0]; //the random data from firebase