如何从 Cloud firestore 检索多个文档,但没有重复的文档?

How do i retrieve multiple documents from cloud firestore, but no duplicates?

我想从文档列表中随机提取一个文档。目前,它有效,但我会再次收到相同的文档,但我不想。

let qnumber = Math.floor((Math.random() * 3) + 1);
const dialogflowAgentDoc = db.collection('esequiz').doc(''+qnumber);

那么我该如何编辑它才能不从随机提取的文档中提取任何重复项?

所以我的cloud firestore是这样的,所以我使用qnumber来确定一个随机数,然后调用到db collection。

]

您需要跟踪检索到的文档的 ID 并丢弃已经检索到的随机 ID。

伪代码:

class UniqueRandomIdProvider()
{
   alreadyRetrieved: number[] = [];

   public getNewRandomId(): number {
     while(true) {
     {
        const randomId = this.getRandomId();
        if (!this.alreadyRetrieved.contains(randomId) {
            return randomId;
        }   
     }

   }

   private getRandomId(): number {
      return Math.floor((Math.random() * 3) + 1);
   }
}