我正在使用subcollection
从Firestore
中的nodejs
正确地获取数据。数据以firebase console
输出,所以可以。但是,即使从数据库中提取了数据,该数组也始终为空。我的Promise
写作有问题吗?
async fetchSubcollectionDocuments() {
const sub = this.conv.user.profile.payload.sub;
let ref = await db.collection('resource').doc(String(sub))
let array = [];
return ref.getCollections().then(collections => {
console.log('collections?')
collections.forEach(async collection => {
console.log('subcollection?')
let snapshot = await collection.where('query', '==', false).get()
snapshot.forEach(doc => {
console.log('data?')
// here data exists
console.log(doc.id, '=>', doc.data());
// here data should be added
array.push(doc.data())
});
// here array is always returned empty!!!!!
return array
})
})
}
正确访问和提取数据后,数组始终为空。获取的数据应添加到数组中并返回数组。在上面的代码中,这是不成功的。
我正在以这种方式使用该函数。在异步函数内部
let array = await fetchSubcollectionDocuments()