javascript - Firebase 查询每次返回不同的结果
问题描述
我有这个对 firebase 数据库的请求。我希望它返回引号集合中的所有记录。但是,它每次都返回一组不同的记录(包括不同的总行数)。我需要做什么才能一致地“导出”集合中的所有记录?
db.collection("quotes").get()
.then(snapshot => {
console.log(snapshot);
let snapshotArray = [];
snapshot.forEach(doc => {
const data = doc.data();
snapshotArray.push(data);
});
return res.status(200).send(snapshotArray.length)
})
.catch(error => {
console.log(error);
res.status(500).send(error);
});
解决方案
如果您想获取一份文档的数据,您必须知道它的名称。您应该检查它是否也存在:
var docRef = db.collection("cities").doc("SF");
docRef.get().then(function(doc) {
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
}).catch(function(error) {
console.log("Error getting document:", error);
});
如果你想要一个像 ID 这样的保存字段,你必须这样写:
console.log("Document data:", doc.data().id); // only saved ID gets printed
推荐阅读
- c# - “System.Object”类型是在未引用的程序集中定义的。您必须添加对程序集“netstandard”的引用
- javascript - PHP 预选下拉菜单
- github - 来自子目录的 Github 页面
- c# - 哪些指令可用于在计算器中执行一系列计算?
- laravel - 如何从laravel购物车中的用户表中分配user_id的值?
- vba - 使用导入工作表列访问匹配表标题
- reactjs - 如何在 React 功能组件中返回不同的页面
- python - 元组的元组
- queue - Apache Pulsar 消息传递语义
- java - Netbeans 中的 Selenium:包 org.openqa.selenium 不存在