Firestore array.push 未保存数据

Firestore array.push not saving data

我有以下查询从 firestore 检索一些数据。但是,当试图将数据推入 classArray 时,它是空的。我研究了一下,可能是因为我没有 await 关键字,但不确定。顺便说一句,console.log 确实打印了数据,只是没有将其保存到数组中。

let classArray = []

firestore.collection('Classes')
        .doc(classType)
        .collection(subClass)
        .onSnapshot(snapshot => (
            snapshot.docs
            .map(doc => {
                classArray.push(doc.data());
                console.log(doc.data());
            }))
        )

我该如何解决这个问题?

.map() 进行了给定的转换,returns 进行了数组;所以你不需要手动执行推送,只需将它分配给你的字段就足够了。

classArray  = snapshot.docs.map(doc => doc.data());