I get:
(node:9907) Warning: Possible EventEmitter memory leak detected. 11 close listeners added. Use emitter.setMaxListeners() to increase limit
How do I debug my code to find out why this error appears? I try to import 50.000 lines of codes into Mongodb by using Mongoose.
Anyone can point me in right direction to improve my code to avoid this error in future?
const mongoose = require('mongoose'),
parse = require('csv-parse'),
path = require('path'),
fs = require('fs'),
EClass = require('./models/eclass');
mongoose.Promise = require('bluebird');
mongoose.connect('mongodb://localhost/automdm_test');
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', () => {
// we're connected!
const p = path.join(__dirname, '/../', 'file-operations', 'csv-files');
// console.log(p);
const parser = parse({ delimiter: ';' }, (err, data) => {
// console.log(data);
const codedName = data.map((item, i) => data[i][6]);
const preferredName = data.map((item, i) => data[i][7]);
const definition = data.map((item, i) => data[i][8]);
const level = data.map((item, i) => data[i][13]);
const mkSubclass = data.map((item, i) => data[i][14]);
const mkKeyword = data.map((item, i) => data[i][15]);
// Looping and storing the data into mongodb
for (let i = 1; i < data.length; i++) {
const newEclass = new EClass();
newEclass.eclassSegment = codedName[i].slice(0, 2);
newEclass.eclassMainGroup = codedName[i].slice(2, 4);
newEclass.eclassGroup = codedName[i].slice(4, 6);
newEclass.eclassCommodityClass = codedName[i].slice(6, 8);
newEclass.preferredName = preferredName[i];
newEclass.definition = definition[i];
newEclass.level = level[i];
newEclass.mkSubclass = mkSubclass[i];
newEclass.mkKeyword = mkKeyword[i];
newEclass.save()
.then(() => {
mongoose.disconnect();
})
.catch((err) => {
console.log('There was an error', err);
});
}
});
fs.createReadStream(`${p}/One-eClass-10_0_CC_en.csv`).pipe(parser);
});
via Isak La Fleur
No comments:
Post a Comment