首页 > 解决方案 > 无法在本机反应中从 Firebase Firestore 获取数据

问题描述

我正在尝试从 Firestore 获取数据,但看不到数据。我正在构建一个 react-native 应用程序。我正在使用 react-native-firebase。

我还尝试了 react-native-firebase 文档中的Transactions方法。但没有任何工作。

这是我的代码:

firebase.firestore().collection('users').doc(uid)
          .get()
          .then((doc)=>{ 
                  console.log(doc)
                  console.log(doc.data().shoppinglist)   
          })
          .catch(e => console.log(e));

控制台日志记录 .get() 给了我一个承诺。

我得到这样的承诺:

Promise {_40: 0, _65: 0, _55: null, _72: null}
_40: 0
_55: null
_65: 0
_72: null

但是 .then() 不会执行,因为两个 console.log() 没有记录任何内容。

请帮帮我。Firebase 很新。

标签: firebasereact-nativegoogle-cloud-firestorereact-native-firebase

解决方案


在对 Firebase 文档进行了一些挖掘之后,我找到了一个解决方案。

集合引用和文档引用是两种不同类型的引用,可让您执行不同的操作。例如,您可以使用集合引用来查询集合中的文档,并且 可以使用文档引用来读取或写入单个文档。

因此,替换firebase.firestore().collection('users').doc(uid) firebase.firestore().doc(`users/${uid}`)解决了我的问题。


推荐阅读