Создать новый документ в коллекции Firestore из файла CSV с помощью createReadStream в облачной функции GCF (Google) - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь записать новый документ в Firestore из файла csv, который хранится в облачном хранилище, используя createReadStream.

Файл хорошо читается, включая мою логику If (row) в обратном вызове .on ('data'), но, как только я пытаюсь вернуть метод Firestore Document Add, происходит сбой, и в журналах облачных функций нет ошибок, чтобы объяснить почему. Я также попытался поместить строку в массив и обработать их с помощью цикла во on ('end', обратном вызове и вызове функции вне потока, но каждый из них не может сгенерировать документ в коллекции, и нет логи, чтобы помочь мне. Я хотел бы некоторый вклад.

const readstream = fs.createReadStream(tmpFilePath);
const csvStream = readstream.pipe(csv())
      csvStream.on('data', (row) => {
          console.log('row', row);
          if(row) {
              console.log('row worked');
              //testing to see if record gets passed, will add row later
              return db.collection('test').add({name: 'test')
                .then((docRef) => {
                    console.log('The Doc ID is:', docRef.id);
                })
                .catch((error) => {
                    console.log('error adding document:', error);
                })
           } else { console.log('no data'); }
     })

     csvStream.on('end', () => {
         console.log('successfully read file')
     });

Код должен записывать документ в коллекцию ('test) каждый раз, когда обрабатывает строку. Прямо сейчас я просто пытаюсь получить запись, которая будет создана, но следующим шагом будет добавление объекта строки, который должен быть достаточно простым, если я смогу заставить это работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...