Firebase:如何记录从 Firebase 集合返回的值?

Firebase: How to log the value returned from Firebase collection?

在我的 React Native 应用程序中,我使用

从 Firebase 获取了一个值
this.getRef()
.doc(<something>)
.collection(<something>)
.doc(<something>)

我想记录它返回的值,但我不知道它 returns 是否是一个承诺。我想做类似

的事情
let a = this.getRef()
  .doc(<something>)
  .collection(<something>)
  .doc(<something>)
console.log(a)

我该如何处理?

目前,您只有对文档的引用,而不是文档本身。要一次性获取文档,请使用 .get。这将 return 一个承诺:

this.getRef()
  .doc(<something>)
  .collection(<something>)
  .doc(<something>)
  .get()
  .then(doc => {
    console.log(doc.data());
  })

// Or using async await:
const someFunction = async () => {
  const doc = await this.getRef()
    .doc(<something>)
    .collection(<something>)
    .doc(<something>)
    .get()
  console.log(doc.data());
}

或者,如果您想继续监听更改,请使用 onSnapshot:

const unsubscribe = this.getRef()
  .doc(<something>)
  .collection(<something>)
  .doc(<something>)
  .onSnapshot(snapshot => {
    console.log(snapshot.data());
  });

// Later you can call unsubscribe() to stop listening