最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Firebase Cloud Firestore如何设置snapShotOptions

运维笔记admin10浏览0评论

Firebase Cloud Firestore如何设置snapShotOptions

Firebase Cloud Firestore如何设置snapShotOptions

我正在使用Node SDK for Firebase和Firestore。

当我使用collection.add()时,我使用以下命令在我的文档上设置时间戳:

firebase.firestore.FieldValue.serverTimestamp()

我的问题是我正在使用collection.onSnapshot监听更改,并且时间戳被返回为null,因为我认为报告的更改是本地更改,即。 db还没有时间写时间戳。

我相信加入firebase.firestore.onSnapshotOptions来弥补这一点。您可以将“估计”设置为在快照中为本地更改返回估计的时间戳 - 稍后在服务器更改中返回的实际时间戳。

我的问题是,我在应用程序中如何/在何处设置此选项?

回答如下:

据我所知,这种类型仅用于QuerySnapshot.docChanges()。在这种情况下,它的用法应该是这样的:

db.collection("yourcollection")
    .get()
    .then(function(querySnapshot) {
        querySnapshot.docChanges({ serverTimestamps: 'estimate' }).forEach(function(doc) {
            console.log(doc.id, " => ", doc.data());
        });
    })
    .catch(function(error) {
        console.log("Error getting documents: ", error);
    });

serverTimestamps的有效值为:"estimate""previous""none"(这是默认值)。有关其含义的详细信息,请参阅documentation of SnapshotOptions. serverTimestamps

发布评论

评论列表(0)

  1. 暂无评论