вставка только обновленной записи в MONGODB при конвертации в CSV - PullRequest
0 голосов
/ 13 февраля 2020

Я написал код, который загружает EXCEL файл (.xlsx) с FTP-СЕРВЕР , преобразует его в CSV и затем конвертирует CSV файл в JSON и сохраните его в MONGODB , все это работает отлично. Теперь я хочу, чтобы при загрузке и преобразовании EXCEL FILE в CSV, а затем в JSON перед вставкой DATA to DATABASE он проверяет, какие поля были изменены, я просто хотите, чтобы ОБНОВЛЕННАЯ ЗАПИСЬ была сохранена в базе данных, значит, не целые ДАННЫЕ снова, нужно просто добавить измененные поля / атрибуты. Как мне это сделать , и на каком этапе это означает, что Я ПРИМЕНЯЮ ПРОВЕРИТЬ ПЕРЕД ВСТАВКОЙ В MONGODB или ДО ПРЕОБРАЗОВАНИЯ CSV. Любое решение, ребята ??? .. спасибо :) Вот мой существующий код

mongoose.connect('mongodb://localhost/FTP',
    { useNewUrlParser: true }, function (err) {
        if (err) {
            console.log('Some problem with the connection ' + err);
        } else {
            var c = new Client();
            var connectionProperties = {
                host: 'ABC',
                user: 'ABC',
                port: 'ABC',
                password: 'ABC',
            };
            c.connect(connectionProperties);
          c.on('ready', function () {
                c.get('path-to-excel-file', function (err, stream) {
                    if (err) throw err;
                    stream.once('close', function () {
                        const workBook = XLSX.readFile('Convertedfile.xlsx');
                        XLSX.writeFile(workBook, 'Convertedfile', { bookType: "csv" });
                        csv()
                            .fromFile("Convertedfile")
                            .then((jsonObj) => {
                                Model.collection.insert(jsonObj, function (err, docs) {
                                    if (err) {
                                        return console.error(err);
                                    } else {
                                        console.log("All Documents insterted");
                                    }
                                });
                            })
                        c.end()
                    });
                    stream.pipe(fs.createWriteStream('ConvertedFile.xlsx'))
                })
          })

    }
})


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...