Firebase Firestore-数据必须是一个对象,但是它是:一个自定义Object对象

时间:2019-08-12 16:31:39

标签: javascript firebase firebase-realtime-database google-cloud-firestore

我将Firestore与实时数据库结合使用,以便为我的应用程序提供用户状态系统。

更新:我关注的文章

https://blog.campvanilla.com/firebase-firestore-guide-how-to-user-presence-online-offline-basics-66dc27f67802

在一种方法中,我在这里使用此代码:

const usersRef = this.$fireStore.collection('users').doc(uid)
const whoIsOnlineRef = this.$fireDb.ref('.info/connected')

whoIsOnlineRef.on('value', (snapshot) => {
    this.$fireDb.ref(`/status/${uid}`)
        .onDisconnect()
        .set('offline')
        .then(() => {
          usersRef.set({ online: true }, { merge: true })

          this.$fireDb.ref(`/status/${uid}`).set('online')
        })
})

.set方法给我标题中提到的错误,我不太明白为什么。我只是将一个javascript对象传递给.set方法,这在技术上应该可以正常工作。

您能发现代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

看起来不起作用的原因是代码在SSR应用程序的服务器上运行。

我将相同的逻辑移至浏览器,并且开始运行良好。我仍然不明白为什么这在服务器中不起作用,因为直到最后,我仍然将一个简单的js对象传递给.set()方法。

无论哪种方式,您都可以拥有