javascript - 如何从云 Firestore 中提取非重复文档?
问题描述
所以目前这些代码是提取我存储在我的数据库中的文档的原因,我想添加条件来提取某些文档,但不是重复的。
我如何编辑代码以使拉取的任何文档都不会被拉取?
我尝试使用while循环,但它在这两行出现了这个错误
.then(doc => {
并且
}).catch(错误 => {
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);
});
解决方案
没有任何 API 可以从 Firestore 中检索唯一值。但是您可以通过合并模型中的两个唯一项目来创建唯一 ID,并在此基础上获取记录。
extraParm = userID + anyOtherUniqueID
https://medium.com/@jqualls/firebase-firestore-unique-constraints-d0673b7a4952
推荐阅读
- xampp - 我已经在 ubuntu 20.04 中安装了 XAMPP 和 PHPmailer,但邮件程序无法正常工作
- django - 在 urlpatterns 中加载外部(绝对)URL
- android - 应用程序在我添加 Recycler 视图后崩溃
- python - 为什么验证准确度(或训练准确度)与数据集的数量不完全匹配?
- ffmpeg - 从多个视频生成多个缩略图(使用 FFmpeg)
- reactjs - 无法使用 redux 让计数器工作
- reactjs - 为什么显示错误[您必须将组件传递给连接返回的函数。而是在反应 redux 中收到 undefined]
- ruby-on-rails - 带有cropperjs(或任何javascript包)的Rails 6 webpacker
- sql-server - 缺少 SQL Server 集成服务目录
- python - 结合卷积神经网络