Javascript Firebase系列
我在firebase中有此数据库: 然后,我用javascript编写了以下代码:Javascript Firebase系列,javascript,reactjs,firebase,google-cloud-firestore,Javascript,Reactjs,Firebase,Google Cloud Firestore,我在firebase中有此数据库: 然后,我用javascript编写了以下代码: firebase .firestore() .collection('devices') .doc(device.id) .collection('pings') .get() .then(doc => { doc.forEach(d => console.log(d)) }) 问题是:我的控制台日
firebase
.firestore()
.collection('devices')
.doc(device.id)
.collection('pings')
.get()
.then(doc => {
doc.forEach(d => console.log(d))
})
问题是:我的控制台日志显示了这一点,而不是显示ping集合中的每个对象:
你们中有谁知道发生了什么以及如何修复吗?对从firestore获取的文档使用数据方法
firebase
.firestore()
.collection('devices')
.doc(device.id)
.collection('pings')
.get()
.then(doc => {
doc.docs.forEach(d => console.log(d.data())
})
我做到了。嘿,我正试图将数据推送到一个数组中,就像这样:date.push(d.data().datetime),但是当我尝试在firebase调用之外对日期数组进行console.log时,它似乎为null,这是什么意思?它似乎为null。你能发布logIt吗?似乎我必须在代码的某些部分使用异步等待,但我不知道如何使用它。我的代码如下所示:在doc.forEach(d=>{date.push(d.data().datetime);console.log(date)}内。然后,我关闭firebase函数并执行一个console.log(date)。首先,控制台显示日期数组为空,如下所示:[],然后显示日期数组和日期。
firebase.firestore().collection('devices').doc(device.id).collection('pings').get()。然后(doc=>{doc.forEach(d=>{date.push(d.data()).datetime)console.log(date)}).catch(err=>console.log(err))console.log(date)