forked from gti525/exercice-intro-api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
chargerEtudiants.js
46 lines (38 loc) · 1.2 KB
/
chargerEtudiants.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//Charge la liste des étudiants d'un CSV et les enregistre dans la BD
var http = require ('http');
var mongoose = require ("mongoose");
var uri =
process.env.MONGOLAB_URI ||
'mongodb://test:[email protected]:31872/demomango';
mongoose.connect(uri, function (err, res) {
if (err) {
console.log ('Erreur pour se connecter à: ' + uri + '. ' + err);
} else {
console.log ('Connexion réussie à : ' + uri);
}
});
var Etudiant = require('./models/etudiant');
//Enlève les données précédentes
Etudiant.remove({}, function(err) {
if (err) {
console.log ('error deleting old data.');
}
});
//Parser CSV -> JSON
var Parser = require('./parser');
// Module de fileSystem
var fs = require('fs');
// Lis le fichier en mémoire
fs.readFile('./models/etudiants.csv', function (err, fichierEtudiants) {
if (err) throw err;
var contenuFichier = fichierEtudiants.toString();
var parser = new Parser();
var etudiants = parser.parse(contenuFichier);
for(var i=0;i<etudiants.length;i++){
var etudiant = JSON.parse(etudiants[i]);
etudiant["message"] = '';
etudiant["hyperlien"] = '';
Etudiant.collection.insert(etudiant);
}
console.log("Chargement terminé");
});