【问题标题】:Firebase collection method doesn't return CollectionReference objectFirebase 收集方法不返回 CollectionReference 对象
【发布时间】:2020-07-13 23:14:31
【问题描述】:

这是我第一次使用 StackOverflow。希望有人能帮帮我!

我正在尝试编写 React-redux 应用程序,目前正在尝试将 Firebase 集成到应用程序中。当我console.log一个collectionReference对象时,由于某种原因,对象名称被称为n,并且对象的键似乎是乱码,例如Ch, Hw,等...我不确定发生了什么在。有谁知道 console.log 似乎没有给我关于我的收藏对象的信息?是因为出于安全原因,数据以某种方式加密了吗?这是我为 concole.loging collectionReference 对象编写的方法。

export const addCollectionAndDocuments = (collectionKeys, objectsToAdd) => {
  const collectionRef = firestore.collection(collectionKeys);
  console.log(collectionRef);
};

这是我得到的回应。

n {qa: t, Hd: t, dw: t, firestore: t, Qa: null, …}
Cw: n {segments: Array(1), offset: 0, m: 1}
Hd: t {s: t, ignoreUndefinedProperties: false, serializer: Ft}
Qa: null
dw: t {path: n, collectionGroup: null, ds: Array(0), filters: Array(0), limit: null, …}
firestore: t {Bd: FirebaseAppImpl, qd: t, INTERNAL: {…}, qa: t, jd: "[DEFAULT]", …}
id: (...)
parent: (...)
path: (...)
qa: t {projectId: "shop-2b337", database: "(default)"}
__proto__: n

【问题讨论】:

  • 在我看来,这确实像一个参考对象;你期待什么,为什么?
  • 嗨,克里斯!我期望 console.log 会打印出具有关联键名的 CollectionReference 对象。现在,关键名称是 Cw、Ha、Qa ...,我真的不知道它们来自哪里,因为我没有设置它们。
  • 我假设这些是内部属性;您是否尝试在参考上调用.get().where() 等?我的意思是,虽然我当然不是 Firestore 专家,但我没有看到任何表明出现问题的东西。

标签: javascript firebase google-cloud-firestore react-redux


【解决方案1】:

那些ChhW 等看起来像缩小的内部属性,它们只是你不需要的私有东西(因此它们不是人类可读的)。您将不会看到CollectionReference 上枚举的数据,甚至还无法直接访问任何数据,因为您没有要求任何东西,只选择了一个集合。

就像@Chris 所说,使用.doc() 选择一个文档或使用.get().where 和其他方法进行查询以实际获取 数据。我建议您在设置应用时遵循 Firebase docs

【讨论】:

    【解决方案2】:

    我不确定您希望控制台日志打印出什么内容,但 Christian 是对的,您正在查看 CollectionReference 对象的损坏内部表示。它没有有意义的字符串格式。

    如果你想记录一些有意义的东西,也许你可以使用path 或它的其他记录属性之一。如果您需要该集合中的文档数据,您必须make a query with it

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      相关资源
      最近更新 更多