sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man importerar data från CSV-fil till Meteor-samlingen på serversidan

Du var väldigt nära. Jag var bara tvungen att göra några ändringar för att få det att fungera.

Jag vet inte hur din .csv-fil ser ut, så jag gjorde en som är så här:

A1, B1, C1, D1, E1, F1, G1, H1, I1
A2, B2, C2, D2, E2, F2, G2, H2, I2

Din file.split-operation var inte att dela upp raderna, utan satte allt på en stor rad. Jag gjorde på det här sättet och det fungerade:

var lines = file.split(/\r\n|\n/);

Det fick enskilda rader att delas upp i medlemmar av arrayen. Sedan antog jag att, eftersom du kallar din indata för en CSV, är dina värden separerade med kommatecken, inte rör. Så jag ändrade din line.split till detta

var line_parts = line.split(',');

Andra ändringar som jag gjorde kanske inte var det som gjorde att dina misslyckades, men det är så här jag tror att saker och ting normalt görs...

Istället för att deklarera din samling så här

Meteor.orders = new Meteor.Collection('Orders');

Jag gjorde så här

Orders = new Mongo.Collection("orders");

Observera att detta körs av både servern och klienten.

Istället för ditt sätt att deklarera metoder på servern lägger jag bara in detta i serverkoden (inte i Meteor.start):

Meteor.methods({
    upload : function(fileContent) {
        console.log("start insert");
        import_file_orders(fileContent);
        console.log("completed");
    }
});

Och, naturligtvis, ändrade jag infogningsraden längst ned i din import_file_orders-funktion

var result = Orders.insert({Patient:pat_id, Exam_code:ex_key, Exam_name:ex_name, Clinical_info:clin_info, Order_info:order_info, Clinician_first:clinician_first_name, Clinician_last:clinician_last_name, Clinician_c_code:clinician_code, Clinician_riziv:clinician_riziv, Planned:null});
console.log(Orders.findOne(result));

REDIGERA för uppdaterad kod i frågan:

Flytta import_file_orders-funktionen från klientblocket till serverblocket.




  1. Konfigurera MongoDB på Windows

  2. golang mongodb (mgo) infogar inte dokument

  3. DevOps Open-Source Database Audit Manual - Allt du bör veta

  4. Mongoose-schema:'unik' respekteras inte