MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да импортирате данни от CSV файл в колекцията Meteor от страната на сървъра

Бяхте много близки. Просто трябваше да направя няколко промени, за да заработи.

Не знам как изглежда вашият .csv файл, затова направих такъв:

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

Вашата операция file.split не разделяше редовете, а поставяше всичко на един голям ред. Направих го по този начин и се получи:

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

Това накара отделни редове да се разделят на членове на масива. Тогава предположих, че тъй като наричате входа си CSV, вашите стойности са разделени със запетаи, а не с тръби. Затова промених вашия line.split на това

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

Други промени, които направих, може да не са това, което причиняваше неуспех на вашите, но това е начинът, по който мисля, че нещата се правят нормално...

Вместо да декларирате колекцията си по този начин

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

Направих го така

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

Имайте предвид, че това се изпълнява както от сървъра, така и от клиента.

Вместо вашия начин за деклариране на методи на сървъра, аз просто поставих това в кода на сървъра (не в Meteor.start):

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

И, разбира се, промених реда за вмъкване в долната част на вашата функция 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));

РЕДАКТИРАНЕ за актуализиран код във въпроса:

Преместете функцията import_file_orders от клиентския блок в сървърния блок.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb не стартира на ubuntu 18.04

  2. Вземете индекс на даден елемент в полето на масив в MongoDB

  3. Неуспешно обяснение на MongoDb:неизвестен оператор от първо ниво:$query

  4. защо правя 2dsphere индекс, но когато правя заявка, той показва s2cursor?

  5. Автоматично архивиране на MongoDB