Я пытаюсь записать новый документ в 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) каждый раз, когда обрабатывает строку. Прямо сейчас я просто пытаюсь получить запись, которая будет создана, но следующим шагом будет добавление объекта строки, который должен быть достаточно простым, если я смогу заставить это работать.