【问题标题】:Firestore array.push not saving dataFirestore array.push 不保存数据
【发布时间】:2021-02-03 11:37:37
【问题描述】:

我有以下查询来从 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());
            }))
        )

我该如何解决这个问题?

【问题讨论】:

    标签: firebase lambda google-cloud-firestore netlify


    【解决方案1】:

    .map() 进行了给定的转换并返回数组;因此您无需手动执行推送,只需将其分配给您的字段即可。

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

    【讨论】:

    • 试过了,还是一样的问题。我认为 await 关键字可能是解决方案,但我不确定我会把它放在哪里
    • 对不起,我能够从问题中可用的 sn-p 得到问题。如果是 async/await,那需要大量的解释;但是给你一个很好的参考 - stackoverflow.com/questions/64521755/…
    猜你喜欢
    • 1970-01-01
    • 2021-05-06
    • 2021-02-24
    • 1970-01-01
    • 2022-11-16
    • 2018-08-07
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    相关资源
    最近更新 更多