mysql - 如何在 javascript (nodejs) 中使用 for 或 foreach 将带有对象值的数组插入到 mysql 中?

标签 mysql arrays json node.js object

这是我的 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" : "sameer@ech.com",
                "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" : "ganesh@ich.com",
                "dob" : null,
                "postcode" : "",
                "region" : "",
                "city" : "",
                "street" : "",
                "lastName" : "Pandiyan",
                "firstName" : "Ganesh",
                "gsm" : "1233",
                "id" : 13
            }
        ]
    },
    "senderName" : "ifelse",
    "message" : "hey...",
    "draftName" : "December 9",
}

我想将draftData和senderName中的gsm号码以及消息值插入数据库

想要存储

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

如何做到这一点?

我正在使用带有 mysql 的sequelize ORM。

你能帮我使用 for 或 foreach 或 JavaScript 中的任何其他函数来解决这个问题吗?

最佳答案

我终于编写了自己的代码并得到了答案:

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

这是个好方法吗?

关于mysql - 如何在 javascript (nodejs) 中使用 for 或 foreach 将带有对象值的数组插入到 mysql 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47730644/

相关文章:

php - PHP中的用户欢迎消息

mysql - 存储在 linux 机器上的 mysql 数据库中的实际数据在哪里?

c - 在c中的结构中初始化灵活的结构指针数组

php mysql_fetch_assoc 转 json 编码

php - 获取json数组的值

mysql - Sphinx 和实时索引与 mysql innodb 事务

MYSQL - 零等值的文本 VARCHAR

php - 当我使用 set 作为捕获时,为什么 Twig 不能使用变量作为数组的索引?

c - 如何解决 "parameter has incomplete type"错误?

javascript - 从 json 对象收集数据并创建层次结构