Sequelize - 数组中的纬度经度

Sequelize - latitude longitude in array

我return lat 和 lon with a find all in sequelize,这是代码

 exports.findlatlon = (req, res) => {

  Prueba.findAll({
    attributes: [ 'lat', 'lon'],
     }).then(data => {
      res.send(data);
    })
    .catch(err => {
      res.status(500).send({
        message:
          err.message || "Some error occurred while retrieving."
      });
    });
};

它 return 是一个 json 这样的

[{"lat": 43.355422, "lon": -0.324555}]

但我只想return具有这种格式的数组的值

[[43.355422, -0.324555],[43.322215, -0.343156]]

我尝试搜索了很多示例,但没有适合我的解决方案。

您必须像我在此处所做的那样将 json 转换为二维数组:

var obj = [{"lat": 43.355422, "lon": -0.324555}, {"lat": 10.568456, "lon": -8.586849}];
var arr = new Array();

for(var [i, value] in obj) {
  arr[i] = new Array(obj[i].lat, obj[i].lon);
}

console.log(arr)

根据我从您的代码中了解到的情况,您应该在 res.send:

之前执行此操作
 exports.findlatlon = (req, res) => {

  Prueba.findAll({
    attributes: [ 'lat', 'lon'],
     }).then(data => {
      var arr = new Array();
      for(var [i, value] in data) {
          arr[i] = new Array(data[i].lat, data[i].lon);
      }
      res.send(arr);
    })
    .catch(err => {
      res.status(500).send({
        message:
          err.message || "Some error occurred while retrieving."
      });
    });
};