У меня есть этот код, и он делает то, что я хочу (на что я надеюсь). Он анализирует CSV-файл на Json, а затем с помощью функции записывает его в базу данных firebase.
Проблема в том, что файл слишком велик после синтаксического анализа для загрузки базы данных Firebase в реальном времени. Мне нужно использовать базу данных в реальном времени.
Есть ли способ сжать или уменьшить данные?
#!/usr/bin/env node
import csv from 'csvtojson';
import program from 'commander';
import * as fs from 'fs';
import * as firebase from 'firebase';
import firebaseConfig from './config';
import { resolve } from 'path';
import { Stream } from 'stream';
// Set up Arguments in Command Line
program
.version('1.0.0')
.option('-s, --src <path>', 'Path to .csv file')
.parse(process.argv);
firebase.initializeApp(firebaseConfig);
const db = firebase.database();
// Parse .csv to Json file
const migrate = async () => {
try {
const srcPath = program.src;
// Check to ensure that .scv file is imputed in command line
if (!srcPath) {
console.log('Please Enter .CSV filepath');
}
csv()
.fromFile(srcPath)
.on('done', (data) => {
updateDatabase(data);
});
} catch (error) {
console.log(error);
}
};
function updateDatabase(data: any) {
db.ref('funds').set(data);
}
migrate();