Мне нужно сохранить содержимое большого файла CSV в столбце моей таблицы.Я пытался использовать буфер, но он возвращает FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
, это способ сохранить его с помощью потока, то есть сохранить только часть CSV в памяти, а не все данные CSV?
Сохранение всегоCSV в памяти:
let content = [];
let bufferContent = null;
await (new Promise(resolve => {
notificationRequest.usersStream
.on(‘data’, function(buffer) {
content.push(buffer);
})
.on(‘end’, function() {
bufferContent = Buffer.concat(content);
resolve();
});
}));
Попытка сохранить буфер в БД:
this.dbRepository.save(bufferContent);
Выдает ошибку:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
TypeORM Entity
@Column({ type: ‘bytea’, nullable: true})
csvBuffer?: Buffer;
PS: если файл небольшой, приведенный выше код работает отлично.