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