【问题标题】:Upload document Firebase Firestore issue上传文档 Firebase Firestore 问题
【发布时间】:2020-01-11 02:17:32
【问题描述】:

我遇到了上传 Firestore 文档的函数的异常行为。在下面的代码中,文档中更新的值是 keyValue : valueValue,而不是访问存储要在 Firestore 文档中更新的所需字段的常量。

它会抛出一个错误:'keyValue' is declared but its value is never read 。这意味着使用实际值“keyValue”而不是常量 keyValue。

有什么建议吗?


function createObjectDocument(document: any, caseNumber: String)

{
    document.get().then(function(doc: any) {
        if (doc.exists) {
            console.log("Document data:", doc.data());
            for (let [key, value] of Object.entries(doc.data())) {
                let keyValue = key;
                let valueValue = value;
                console.log(`${key}: ${value}`);
                if (key != "CaseRefArray") {
                    db.collection("casesToExport").doc(caseNumber).update({
                            keyValue: valueValue
                        })
                        .then(() => {
                            console.log("Successfully updated document!");
                        }).catch((error: any) => {
                            console.error("Error updating document: ", error);
                        });
                }
            }
        } else {
            console.log("No such document!");
        }
    }).catch(function(error: any) {
        console.log("Error getting document:", error);
    });

}

【问题讨论】:

    标签: typescript firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    据我了解,您正在尝试发送一个对象{ } 并使用变量设置对象的键,而不是创建一个对象,其键是变量的名称,而不是该变量的内容。对此的快速解决方法是将 keyValue 封装在一个数组中并将一个对象传递给.update(),如下所示:{ [keyValue]: valueValue },这是 ES6 中添加的一个特性。我建议您查看MDN docs,因为这里有很多对任何 JavaScript 开发人员都很有价值的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 2021-12-31
      • 2020-11-16
      • 2021-07-22
      • 1970-01-01
      相关资源
      最近更新 更多