如何使用insert查询将字典中的大量数据发送到数据库中?

bjg7j2ky  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(411)

我想批量插入mysql。为了理解这个问题,我也跟着问了。用户已经发布了一个答案,该答案获取一组数据,然后插入数据库。
我有一个这样存储的数据

'116': 
   {
     lat: '31.53867',
     long: '74.41279666666667',

     timestamp: '2018-07-28 15:56:15'
     },
  '117': 
   { 
     lat: '31.53863',
     long: '74.41278',
     timestamp: '2018-07-28 15:56:20'
     },
  '118': 
   { 
     lat: '31.538645',
     long: '74.41285',

     timestamp: '2018-07-28 15:58:39'
     }
   }

因为我是node的新手,所以我不知道如何将整个字典放入数据库。
或者,如果不可能,那么如何将数据转换为这种格式,以便插入到查询中

var values = [
    ['31.53863', '74.41285', '2018-07-28 15:58:39'],
    ['31.53863', '74.41285', '2018-07-28 15:58:39'],
    ['31.53863', '74.41285', '2018-07-28 15:58:39']

];

任何帮助都将不胜感激。

acruukt9

acruukt91#

可以使用for in-loop创建如下数组:

var values = [
    ['31.53863', '74.41285', '2018-07-28 15:58:39'],
    ['31.53863', '74.41285', '2018-07-28 15:58:39'],
    ['31.53863', '74.41285', '2018-07-28 15:58:39']
];

试试这个

var oldData = [{
        lat: '31.53867',
        long: '74.41279666666667',
        timestamp: '2018-07-28 15:56:15'
    },
    {
        lat: '31.53863',
        long: '74.41278',
        timestamp: '2018-07-28 15:56:20'
    },
    {
        lat: '31.538645',
        long: '74.41285',
        timestamp: '2018-07-28 15:58:39'
    }
];
var newArr = [];
oldData.map(function(obj, index) {
    var val = [];
    for (index in obj) {
        val.push(obj[index]);
    }
    newArr.push(val)
});
console.log(newArr);

// Expected Output: 

/*
[
    ['31.53863', '74.41285', '2018-07-28 15:58:39'],
    ['31.53863', '74.41285', '2018-07-28 15:58:39'],
    ['31.53863', '74.41285', '2018-07-28 15:58:39']
];

* /

相关问题