Что касается Firebase и CSVtoJSON - PullRequest
0 голосов
/ 21 июня 2020

У меня есть этот код, и он делает то, что я хочу (на что я надеюсь). Он анализирует 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();
...