Как вставить массивы со значениями объектов в MySQL, используя для или foreach в JavaScript (nodejs)?

0

Это моя работа cron api:

var job = new cronJob('* * * * * *', function () {
    Draft.find().then(data => {
        var finalData = data;
            Profsms.create({
                phoneno: draftData.contacts.gsm,
                sender: senderName,
                message: message
            }).then(function (data) {
                if (data) {
                    console.log("successfully moved in profsms mysql");
                } else {
                    console.log("failed");
                }
            })
    });
}, function () {
    console.log('DelCron Job finished.');
}, true, 'Asia/Calcutta');

В переменной finalData я получаю этот тип json-объекта:

{
    "draftType" : "contactdraft",
    "scheduledTime" : null,
    "senderdata" : "",
    "draftData" : {
        "contacts" : [
            {
                "updatedAt" : "2017-12-07T12:09:10.000Z",
                "createdAt" : "2017-12-07T12:09:10.000Z",
                "data3" : "",
                "data2" : "",
                "data1" : "",
                "country" : "",
                "url" : "",
                "company" : "",
                "email" : "[email protected]",
                "dob" : null,
                "postcode" : "",
                "region" : "",
                "city" : "",
                "street" : "",
                "lastName" : "Sameer",
                "firstName" : "Mohamed",
                "gsm" : "123344",
                "id" : 12
            },
            {
                "updatedAt" : "2017-12-07T12:09:58.000Z",
                "createdAt" : "2017-12-07T12:09:58.000Z",
                "data3" : "",
                "data2" : "",
                "data1" : "",
                "country" : "",
                "url" : "",
                "company" : "",
                "email" : "[email protected]",
                "dob" : null,
                "postcode" : "",
                "region" : "",
                "city" : "",
                "street" : "",
                "lastName" : "Pandiyan",
                "firstName" : "Ganesh",
                "gsm" : "1233",
                "id" : 13
            }
        ]
    },
    "senderName" : "ifelse",
    "message" : "hey...",
    "draftName" : "December 9",
}

Я хочу вставить номер gsm из draftData и senderName и значений сообщений в db

Хотите сохранить

                    phoneno: draftData.contacts.gsm,
                    sender: senderName,
                    message: message

Как это сделать?

Я использую sequelize ORM с mysql.

Можете ли вы помочь мне решить эту проблему с помощью for или foreach или любой другой функции в javascript?

Теги:
object
arrays

1 ответ

0
Лучший ответ

Я, наконец, написал свой собственный код и получил ответ:

var job = new cronJob('* * * * * *', function () {
    Draft.find().then(data => {
        var finalData = data;
        var array = [];
        for (var i = 0; i < finalData.length; i++) {
            for (var j = 0; j < finalData[i].draftData.contacts.length; j++) {
               array.push({
                  phoneno: finalData[i].draftData.contacts[j].gsm,
                  sender: finalData[i].senderName,
                  message: finalData[i].message 
               })
            }
        }
        Profsms.bulkCreate(array).then(function (data) {
            if (data) {
                console.log("successfully moved in profsms mysql");
            } else {
                console.log("failed");
            }
        })
    });
}, function () {
    console.log('DelCron Job finished.');
}, true, 'Asia/Calcutta');

Это хороший подход?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню