CSV, скачать или манипулировать прямо сейчас для mongoDB в node.js - PullRequest
0 голосов
/ 01 июня 2018

Я работаю над проектом, в котором мне нужно манипулировать CSV-файлом, размещенным на удаленном URL-адресе, а затем отправлять отформатированное содержимое на удаленный сервер mongodb.До сих пор я пробовал много подходов без особого успеха, поэтому мне было интересно, что бы вы предложили?Легче ли загрузить удаленный файл локально, а затем повторно загрузить его или просто загрузить содержимое в память и сразу же вставить его?

Спасибо

1 Ответ

0 голосов
/ 14 июня 2018

Я предполагаю, что вы хотите сохранить каждую запись из CSV в монго

Простой способ с scramjet :

const {StringStream} = require('scramjet');
const request = require('request');
const mongo = require('mongo-db');

const db = new mongodb(url, cfg.collection, true);

StringStream.from(request.get('https://example.com/csvs/first.csv')) 
                                    // get your CSV as a stream and pass it to scramjet
    .CSVParse()                     // parse the stream as CSV
    .setOptions({maxParallel: 32})  // set maximum parallel operations
    .map(x => {                     // map every object
        const y = await manipulate(x);
        return JSON.parse(y);
    })
    .consume((y) => db.insert(y));  // insert into database

Отказ от ответственности: яавтор scramjet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...