首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Firestore数组打印到Google Sheets

将Firestore数组打印到Google Sheets
EN

Stack Overflow用户
提问于 2021-03-05 21:28:16
回答 1查看 27关注 0票数 0

我正在使用谷歌脚本中的FirestoreApp来访问我的Firestore数据库。在数据库中,我有一个包含数组的文档,我希望将其打印为表。

下面是我的代码:

代码语言:javascript
复制
var allDocuments = firestore.getDocuments("finished/AUG1/2021-3").map(function(doc) {
    return doc.fields;
  });
  const first = allDocuments[0];
  const colum = Object.keys(first);
  const sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(colum);
  allDocuments.forEach(function(doc) {
    const row = colum.map(function(clm) {
      //return doc[clm].toString(); //if documents has array use toString();
      return JSON.stringify(doc[clm], null, 4);
    })
    sheet.appendRow(row);
  })
}

我得到的回报如下:

代码语言:javascript
复制
"{
    ""arrayValue"": {
        ""values"": [
            {
                ""stringValue"": ""64MR6""
            },
            {
                ""stringValue"": ""64MR6""
            },
            {
                ""stringValue"": ""64MR6""
            }
        ]
    }
}"

我想打印出所有的"64MR6“下面或相邻的,但不知何故,我似乎不能得到它的权利。知道我做错了什么吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-03-05 21:37:12

嗯,我们开始吧:

在需要遍历对象的对象的json对象的情况下,易于修改逻辑.....

代码语言:javascript
复制
var firestore = FirestoreApp.getFirestore (email, key, projectId);

  var allDocuments = firestore.getDocuments("finished/AUG1/2021-3").map(function(doc) {
    return doc.fields;
  });
  const first = allDocuments[0];
  const colum = Object.keys(first);
  const sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(colum);
  allDocuments.forEach(function(doc) {
    const row = colum.map(function(clm) {
      //return doc[clm].toString(); //if documents has array use toString();
      //return JSON.stringify(doc[clm], null, 4);

      //console.log(console.log(doc[clm]["arrayValue"]["values"][1]).toString());
      for (i=0;i<doc[clm]["arrayValue"]["values"].length;i++)
      {
      for (const [key, value] of Object.entries(doc[clm]["arrayValue"]["values"][i])) {
        //console.log(`${key}: ${value}`);
        console.log(`${value}`);
      }
      }
      
    })
    sheet.appendRow(row);
  })
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66493445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档