【问题标题】:Using react native with firestore get().data() returns undefined使用带有 firestore get().data() 的 react native 返回 undefined
【发布时间】:2021-09-29 05:07:18
【问题描述】:

我只是想知道我获取数据的方式有什么问题 使用带有 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

我到底错过了什么?

【问题讨论】:

    标签: javascript node.js firebase react-native google-cloud-firestore


    【解决方案1】:

    没有看到您的数据库,我只能猜测您只有一个文档并且没有实际的子集合。看起来您的单个文档在其中嵌套了 fields 调用“todo”。无法使用特殊语法单独获取文档中的嵌套字段。您一次只能阅读整个文档。

    Firestore 中的嵌套字段不是子集合。它们只是单个文档中的字段。第二个代码示例中不起作用的语法是尝试读取子集合中的文档,而该子集合根本不存在。

    我建议查看文档以更好地了解字段和子集合的工作方式,以及用于访问其中任何一个的代码。

    【讨论】:

    • 谢谢,这就是我所缺少的,我认为地图类型是一个集合
    • 地图只是一种包含其他嵌套字段的字段。如果您发现此答案有帮助,请点赞并使用左侧的按钮将其标记为正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 2021-06-26
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    相关资源
    最近更新 更多