Нужен способ извлечения указанных c данных из Firebase RealtimeDB в Google Sheets - PullRequest
1 голос
/ 08 апреля 2020

Я пытаюсь перенести данные Firebase RealtimeDB в Google Sheets с помощью AppScript.

Мне нужен способ извлечения строк идентификатора, отдела и фамилии из БД, когда они получены как таковые из журналов ниже .

Я использую .childByAutoID (), который влияет на БД следующим образом.

Моя база данных: database

Желаемый результат в электронной таблице: here

function writeSheets() {
var firebaseUrl = "<my-database>.firebaseio.com/Attendees";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl);


var data = base.getData();

  console.log(JSON.stringify(data));




var ss = SpreadsheetApp.openById("<my-spreadsheet>");
var sheet = ss.getSheetByName("Sheet1");

var num = 2;

range = ss.getRange("A"+num+":C"+num+"");

for(var i in data) {
  var values = [[data[i][0], data[i][1], data[i][2]]];

  range.setValues(values);
  num += 1;
  range = sheet.getRange("A"+num+":C"+num+"");
  } 


}

base.getData () читает это как:

     {
           "-M4PTaIESKhQZhreHSE6":
               {"Department":"HR",
                        "ID":"1009",
                   "Surname":"Blanc"},

           "-M4PTgaNIE8BDqAcMr5y":
               {"Department":"Accounting",
                        "ID":"1002",
                   "Surname":"Sandler"},

           "-M4PTmOxxNge0Xfe_ez0":
               {"Department":"Creative",
                        "ID":"1009",
                   "Surname":"Tolkien"}
 }

I 

Журналы: [20-04-09 00: 11: 31: 653 HKT] {"-M4PTaIESKhQZhreHSE6": {" Департамент ":" HR " "ID": "1009", "Фамилия": "Blan c"}, "- M4PTgaNIE8BDqAcMr5y": { "Департамент": "Бухгалтерский учет", "ID": "1002"," Фамилия ":" Sandler "}," - M4PTmOxxNge0Xfe_ez0 ": {" Отдел ":" Креатив», "ID": "1010", "Фамилия": "Толкиен"}}

1 Ответ

1 голос
/ 08 апреля 2020

Использовать Object.values ​​ и Array.map :

const data = {
       "-M4PTaIESKhQZhreHSE6":
           {"Department":"HR",
                    "ID":"1009",
               "Surname":"Blanc"},

       "-M4PTgaNIE8BDqAcMr5y":
           {"Department":"Accounting",
                    "ID":"1002",
               "Surname":"Sandler"},

       "-M4PTmOxxNge0Xfe_ez0":
           {"Department":"Creative",
                    "ID":"1009",
               "Surname":"Tolkien"}
 };
const out = Object.values(data).map(Object.values);
//or to change order: Object.values(data).map(({Department:dp,ID,Surname:sn})=>[ID,dp,sn]);
console.info(out);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...