firebase - 无法在本机反应中从 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 很新。
解决方案
在对 Firebase 文档进行了一些挖掘之后,我找到了一个解决方案。
集合引用和文档引用是两种不同类型的引用,可让您执行不同的操作。例如,您可以使用集合引用来查询集合中的文档,并且 可以使用文档引用来读取或写入单个文档。
因此,替换firebase.firestore().collection('users').doc(uid)
为 firebase.firestore().doc(`users/${uid}`)
解决了我的问题。
推荐阅读
- python - 如何通过 Numpy 中的张量乘法在块乘法循环上实现矢量化?
- javascript - 反应JS | 映射嵌套对象
- javascript - 显示来自 RSS 源的图像
- angular - 通用类型数组未显示属性
- android - 我想通过其高级 api 即 PJSUA2 使用 PJSIP 堆栈开发一个 android VOIP 应用程序
- linux - 我如何查看 linux 上的内存使用情况?(过去 30 天)
- c# - 获取值 <= 10 的卡片组合列表
- typescript - Intellisense 卡在使用打字稿加载
- gradle - 如何告诉 gradlew 使用现有的 gradle 而不是每次都下载它?
- google-api - 如何使用 google drive webhook 获取共享驱动器更改事件(如驱动器重命名、添加或删除成员等)?