Как включить foreach в цикле через json для заполнения сервера разбора? - PullRequest
0 голосов
/ 01 июня 2019

Когда загружается файл json, я хочу, чтобы поля заполняли базу данных построчно.Я использую foreach для обхода файла json (огромный массив с объектами в каждом индексе).Это сохранение в базу данных, но это только сохранение последнего индекса в файле json.Я не могу заставить это вставить все.

Я немного изменил код, перемещая вещи внутрь и вне цикла, я думаю, что это может быть метод разбора, который я не знаю.

var fs = require("fs");
var parser = require("../csv/csvparser"); // Tim's module

// Populate database from csv file 
Parse.Cloud.afterSave('File', async req => {
    // Init new Library 
    var query = new Parse.Query('Library');

    query.equalTo("file", req.object);
    let u = await query.first({
        useMasterKey: true
    });

    // Putting csv to json object. 
    let file = fs.readFileSync('../csv/sample.csv'); // request object attribute
    let parsed = await parser.parseCSVBuffer(file);
    let jsoncsv = parser.parsedToObjects(parsed);
    // console.log(jsoncsv);

    // json object to Parse library 
    if (!u) {
        var library = new Parse.Object('Library2');

        jsoncsv.forEach((x) => {
            library.set("title", x.title);
            library.set("url", x.url);
            library.set("KAT", x.ka); // KnowledgeAreaType
            library.set("competency", x.cl);
            library.set("type", x.type);
            library.set("file", req.object);

            library.save({}, {
                useMasterKey: true
            });


        })
        // console.log(req.object.attributes);


    }


})

Я не знаю, важно ли это, но я включу отзывы от моего терминала.

parse server running on 1337
(node:4972) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
{"className":"File","triggerType":"afterSave","level":"info","message":"afterSave triggered for File for user undefined:\n  Input: {\"file\":{\"__type\":\"File\",\"name\":\"822c69ab3b0baa447349984809984080_sample.csv\",\"url\":\"http://localhost:1337/parse/files/your_app_id/822c69ab3b0baa447349984809984080_sample.csv\"},\"createdAt\":\"2019-06-01T15:55:56.661Z\",\"updatedAt\":\"2019-06-01T15:55:56.661Z\",\"objectId\":\"34k1KTREST\"}"}
{"className":"File","triggerType":"afterSave","level":"info","message":"afterSave triggered for File for user undefined:\n  Input: {\"file\":{\"__type\":\"File\",\"name\":\"822c69ab3b0baa447349984809984080_sample.csv\",\"url\":\"http://localhost:1337/parse/files/your_app_id/822c69ab3b0baa447349984809984080_sample.csv\"},\"createdAt\":\"2019-06-01T15:55:56.661Z\",\"updatedAt\":\"2019-06-01T15:55:56.661Z\",\"objectId\":\"34k1KTREST\"}\n  Result: {}"}
...