the*_*der 1 nosql firebase google-cloud-firestore
我在这里关注如何编写查询的文档,但我没有从中获取任何数据.数据库已填充doc提供的示例
以下是我的代码
var db = firebase.firestore();
var citiesRef = db.collection("cities");
var query = citiesRef.where("state", "==", "CA");
query.get().then(function(doc) {
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
console.log("No such document!");
}
}).catch(function(error) {
console.log("Error getting document:", error);
});
Run Code Online (Sandbox Code Playgroud)
如果我没有对它提出任何疑问,它的工作正常.例如(也来自doc):
var docRef = db.collection("cities").doc("SF");
docRef.get().then(function(doc) {
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
console.log("No such document!");
}
}).catch(function(error) {
console.log("Error getting document:", error);
});
Run Code Online (Sandbox Code Playgroud)
两个请求的不同之处在于,在第二种情况下,您要检索一个文档,该文档为您提供DocumentSnapshot具有exists属性和data()方法的文档.
在你不工作的例子中,你做了一个查询,它给你一个QuerySnapshot必须与a不同的处理DocumentSnapshot.您可以获得文档列表/集合,而不是单个文档.您可以使用empty或size属性检查是否已检索数据,然后使用该forEach方法或通过docs数组查看结果:
var db = firebase.firestore();
var citiesRef = db.collection("cities");
var query = citiesRef.where("state", "==", "CA");
query.get().then(function(results) {
if(results.empty) {
console.log("No documents found!");
} else {
// go through all results
results.forEach(function (doc) {
console.log("Document data:", doc.data());
});
// or if you only want the first result you can also do something like this:
console.log("Document data:", results.docs[0].data());
}
}).catch(function(error) {
console.log("Error getting documents:", error);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3102 次 |
| 最近记录: |