Я пытаюсь загрузить и сохранить данные csv
в mongodb
, и я могу загрузить файл, но только в базе данных он показывает объект id с некоторыми двоичными данными.У меня вопрос, как отправить только csv
файл данных (json) в mongodb
?
server.js
var http = require('http');
var fs = require('fs')
var formidable = require('formidable');
var csv = require('fast-csv');
var Converter = require("csvtojson").Converter;
var mongodb = require('mongodb');
var url = 'mongodb://localhost:27017/CSVDATA';
var MongoClient = mongodb.MongoClient;
var data;
http.createServer(function (req, res) {
if (req.url == '/fileupload') {
var form = new formidable.IncomingForm();
form.parse(req, function (err, fields, files) {
res.write('File uploaded'+JSON.stringify(files));
fs.readFile(files.filetoupload.path, function (err, data) {
if (err) throw err;
// data will contain your file contents
data.toString()
MongoClient.connect(url, function (err, db) {
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
console.log('Connection established to', url);
var collection = db.collection('INFORMATION');
collection.insert({'data1':data[0],'data2':data[1]})
}
});
});
res.end();
});
} else {
res.writeHead(200,{'Content-Type': 'text/html'});
res.write('<form action="fileupload" method="post" enctype="multipart/form-
data" accept=".csv">');
res.write('<input type="file" name="filetoupload"><br>');
res.write('<input type="submit">');
res.write('</form>');
return res.end();
}
}).listen(8080);
После отправки кнопки, я успешно создал БД и коллекции.Но я не могу видеть данные csv
.
Кто-нибудь может подсказать, что я делаю не так?