Javascript 如何从云firestore中提取非重复文档?

Javascript 如何从云firestore中提取非重复文档?,javascript,google-cloud-firestore,dialogflow-es-fulfillment,Javascript,Google Cloud Firestore,Dialogflow Es Fulfillment,因此,目前这些代码是提取存储在数据库中的文档的代码,我想添加一些条件来提取某些文档,但不是重复的文档 我如何编辑代码,以使已提取的任何单据都不会被提取 我尝试使用while循环,但在这两行中出现了这个错误 .然后(doc=>{ 而且 }).catch(错误=>{ 没有任何API可以从Firestore检索唯一值。但是您可以通过合并模型中的两个唯一项来创建唯一id,如 并在此基础上获取记录 没有任何API可以从Firestore检索唯一值。但是您可以通过合并模型中的两个唯一项来创建唯一id,如

因此,目前这些代码是提取存储在数据库中的文档的代码,我想添加一些条件来提取某些文档,但不是重复的文档

我如何编辑代码,以使已提取的任何单据都不会被提取

我尝试使用while循环,但在这两行中出现了这个错误

.然后(doc=>{

而且

}).catch(错误=>{

没有任何API可以从Firestore检索唯一值。但是您可以通过合并模型中的两个唯一项来创建唯一id,如 并在此基础上获取记录

没有任何API可以从Firestore检索唯一值。但是您可以通过合并模型中的两个唯一项来创建唯一id,如 并在此基础上获取记录

let qnumber = Math.floor((Math.random() * 3) + 1);

agent.add('Question No: ' + count);
count += 1;
const dialogflowAgentDoc = db.collection('esequiz').doc(''+qnumber);

return dialogflowAgentDoc.get()
  .then(doc => {
    if (!doc.exists) {
      agent.add('Question '+qnumber+' not available');
    } else {
        // agent.add('Quiz Question '+ qnumber);
        agent.add(doc.data().question); 
        let answer = Math.floor(Math.random() * 2) + 1;
        if(answer == 1){
            agent.add(`1. ` + doc.data().right); 
            agent.add(`2. ` + doc.data().wrong); 
        }
        else{
            agent.add(`1. ` + doc.data().wrong); 
            agent.add(`2. ` + doc.data().right); 
        }
        agent.add("Which is correct, 1 or 2?");
        agent.context.set({
              name:'quizanswer',
              lifespan: 3,
              parameters:{
                  qnumber:qnumber,
                  right:answer,
                  count:count
              }
          });
    }
    return Promise.resolve('Read complete');
  }).catch(err => {
    agent.add('Error reading entry from the Firestore database.');
    agent.add('Error: '+ err);
  });
extraParm = userID + anyOtherUniqueID