如何从 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);
}
}
我想从文档列表中随机提取一个文档。目前,它有效,但我会再次收到相同的文档,但我不想。
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);
}
}