rub*_*ero 7 javascript firebase google-cloud-firestore
我正在从Firebase的Cloud Firestore中读取一些数据,但是我已经看到了几种方法。我看到的示例使用了get和onSnapshot函数,如下所示:
db.collection("cities").doc("SF")
 .onSnapshot(doc => {
      console.log(doc.data());
 });
或这个
var docRef = db.collection("cities").doc("SF");
docRef.get().then(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);
        });
它们之间有什么区别吗?
如文档中所述:
有两种方法来检索存储在Cloud Firestore中的数据。这些方法可以与文档,文档集合或查询结果一起使用:
- 调用方法以获取数据。
- 设置一个侦听器以接收数据更改事件。
设置侦听器时,Cloud Firestore会向侦听器发送数据的初始快照,然后在每次文档更改时发送另一个快照。
使用时,get()您只能 “检索单个文档的内容” 一次。这是一种“忘记”的方法:如果文档在(后端)Firestore数据库中发生更改,则需要get()再次调用以查看更改。
相反,如果您使用该onSnapshot()方法,则您将按照doc中的说明不断收听文档:
您可以使用该
onSnapshot()方法收听文档。使用您提供的回调进行的初始调用会立即使用单个文档的当前内容创建一个文档快照。然后, 每次内容更改时,另一个调用都会更新文档快照。
如这些文档中所述,这两种方法适用于一个文档或文档集合(包括query)。
| 归档时间: | 
 | 
| 查看次数: | 2573 次 | 
| 最近记录: |