MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zaimportować dane z pliku CSV do kolekcji Meteor po stronie serwera?

Byłeś bardzo blisko. Musiałem tylko wprowadzić kilka zmian, aby wszystko działało.

Nie wiem, jak wygląda twój plik .csv, więc stworzyłem taki:

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

Twoja operacja file.split nie dzieliła linii, ale umieszczała wszystko w jednej dużej linii. Zrobiłem to w ten sposób i zadziałało:

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

To spowodowało, że poszczególne wiersze zostały podzielone na członków tablicy. Potem założyłem, że skoro nazywasz swoje dane wejściowe CSV, twoje wartości są oddzielone przecinkami, a nie potokami. Więc zmieniłem twój line.split na ten

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

Inne wprowadzone przeze mnie zmiany mogą nie być tym, co spowodowało awarię, ale myślę, że tak się zwykle dzieje...

Zamiast deklarować swoją kolekcję w ten sposób

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

Zrobiłem to w ten sposób

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

Zwróć uwagę, że jest to uruchamiane zarówno przez serwer, jak i klienta.

Zamiast twojego sposobu deklarowania metod na serwerze, po prostu umieściłem to w kodzie serwera (nie w Meteor.start):

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

I oczywiście zmieniłem linię wstawiania na dole funkcji import_file_orders

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));

EDYTUJ dla zaktualizowanego kodu w pytaniu:

Przenieś funkcję import_file_orders z bloku klienta do bloku serwera.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Znajdowanie przecięcia między dwiema kolekcjami w MongoDb

  2. Aktualizacja osadzonego dokumentu Mongoose

  3. Prawidłowe ukrywanie danych logowania do bazy danych

  4. Jak sortować dane w Mongo w niestandardowej kolejności

  5. Mapa Zmniejsz rodzaj zapytania z koniecznością skorelowania z poprzednim wierszem