Ошибка при чтении файла. Превышен максимальный размер стека вызовов при попытке создать элемент с мангустом в потоке
Я пытаюсь записать в БД, читая из большого файла CSV в потоке, но все, что я получаю, это ошибка "Превышен максимальный размер стека вызовов". И всегда после 12969 строки. Если я не сохраняю в БД, все в порядке. Мой пример кода:
const s = fs.createReadStream(path.resolve(__dirname, '../../data.csv'))
.pipe(csv.parse({delimiter: ';', columns: true }))
.pipe(es.mapSync(line => {
s.pause();
if(validate(line)){
const newStation = new Station({
...line
});
newStation
.save()
.then((item) => {
overlaps++;
s.resume();
}).catch(err => {
console.log(err.message);
s.resume();
throw err;
});
}else{
s.resume();
}
}))
.on('error', function(err){
res.end(`Reading error: ${err.message}`);
console.log('Error while reading file.', err.message);
})
.on('end', function(){
res.end(`Done reading, items: ${overlaps}`);
console.log(`Done reading items`)
});