【问题标题】:why firestore doesnt upgrade while firebase realtime database updated为什么firestore在firebase实时数据库更新时不升级
【发布时间】:2021-05-11 09:42:47
【问题描述】:

我正在我的一个 vuejs 应用程序中使用 firebase 构建一个聊天应用程序......在这个系统中,我想显示活跃/非活动用户的状态......所以为此我使用了 firebase @987654321 的解决方案@ 可以在这里找到..到目前为止我试试这个。实时数据库已更新,但云 Firestore 未更新。请帮帮我..我会很有帮助的。

let user = this.profile.id;
            let base = database.ref("/online_users/" + user);
            var store = db.doc('/status/' + user);
            var isOfflineForFirestore = {
                state: 'offline',
                user_id: user,
            };
            var isOnlineForFirestore = {
                state: 'online',
                user_id: user,
            };
            var isOfflineForDatabase = {
                state: 'offline',
                user_id: user,
            };
    
                var isOnlineForDatabase = {
                    state: 'online',
                    user_id: user,
                };
    
                database.ref('/online_users/'+this.profile.id).on('value', function(snapshot) {
                    if (snapshot.val().state == 'offline') {
                        // Instead of simply returning, we'll also set Firestore's state
                        // to 'offline'. This ensures that our Firestore cache is aware
                        // of the switch to 'offline.'
                        store.set(isOfflineForFirestore);
                        console.log(snapshot.val());
                    }
    
                    base.onDisconnect().set(isOfflineForDatabase).then(function() {
                        store.set(isOnlineForFirestore);
                        base.set(isOnlineForDatabase);
                    });
                });

【问题讨论】:

    标签: javascript firebase vue.js firebase-realtime-database google-cloud-firestore


    【解决方案1】:

    启动 RTDB 和 Firestore 的方式有所不同。它没有完全包含在您的代码中,但您应该注意如何创建引用。与在 RTDB 上使用 firebase.database().ref() 不同,在 Firestore 上,您使用 firebase.firestore().doc() 创建文档引用。

    试试这个:

    var store = firebase.firestore().doc('/status/' + user);
    

    【讨论】:

      猜你喜欢
      • 2018-03-15
      • 2020-09-20
      • 1970-01-01
      • 2019-10-12
      • 2018-03-14
      • 1970-01-01
      • 2021-10-19
      相关资源
      最近更新 更多