首页 > 解决方案 > 将数组从 CSV 导入 Firestore

问题描述

我有一个包含两个字段的简单 CSV 文件。一个是字符串,另一个是作为名称元素的数组。

“约翰公民”,“[约翰,公民]”

当我将它导入 Firestore 时,第二个字段存储为字符串,而不是解析为数组。

如何将这些字段导入为字符串和数组?

    db.collection('people').add({
        name: record.name,
        elements: record.elements
    })
    .then(function(docRef) {
      console.log("Document written with ID: ", docRef.id);
    })
    .catch(function(error) {
      console.error("Error adding document: ", error);
    });

标签: javascriptgoogle-cloud-firestore

解决方案


我遇到了同样的问题,我通过将“数组”转换为字符串(CSV)然后将其转换回数组来修复它。我不知道为什么,但是当我尝试将值推送到 Firestore 时,我的 Angular UI 代码将其转换回字符串。

解决方案:

record.elements = this.elementsStringToArray(record.elements.toString());

private elementsStringToArray(elementsString: String): String[] {
  const elementsArray = elementsString.slice(0, elementsString.length).split(',');
  return elementsArray;
}


推荐阅读