javascript - 使用带有 firestore get().data() 的 react native 返回 undefined
问题描述
我只是想知道我使用带有 react-native 的 firebase 获取数据的方式有什么问题
为什么这行得通
const res = await firestore().collection('users').doc(uid).get();
const data = res.data().todos.todo.work
但是这样我就不确定了
const res = await firestore().collection('users').doc(uid).collection('todos').doc('todo').get();
const data = res.data().work
我也试过这个,但也没有定义
const res = await firestore().collection('users').doc(`${uid}/todos/todo`).get();
const data = res.data().work
我到底错过了什么?
解决方案
如果没有看到您的数据库,我只能猜测您只有一个文档并且没有实际的子集合。看起来您的单个文档在其中包含称为“todo”的嵌套字段。无法使用特殊语法单独获取文档中的嵌套字段。您一次只能阅读整个文档。
Firestore 中的嵌套字段不是子集合。它们只是单个文档中的字段。第二个代码示例中不起作用的语法是尝试读取子集合中的文档,而该子集合根本不存在。
我建议查看文档以更好地了解字段和子集合的工作方式,以及用于访问其中任何一个的代码。
推荐阅读
- unit-testing - 使用 Gradle 对非类 Groovy 函数进行单元测试
- qt - 如何从 UTF-8 路径使用 opencv 加载 SVM 模型?
- c# - 如何正确使用 .NET Core 5.x 和 Blazor 以允许用户执行搜索,然后高效、适当且类似于 Blazor 的显示结果?
- r - 从非表格文件中提取信息并存储为 tibble
- reactjs - 如何处理选择组件的不同类型的值?
- c++ - 如何从一个类访问另一个类的函数数据成员
- python - 如果一个值是字典中的键,则将元组值添加到字典
- python - odoo 14 多公司 - 在 account.move 上更改 company_id
- azure - Azure 服务总线主题上的非持久 JMS 订阅
- python - 是否有充分的理由将 python 代码放在 txt 文件中?