Преобразовать объект ответа json в массив массивов

У меня есть коллекция местоположений в mongodb, я написал простой API для получения местоположений, следующий код:

app.get('/onlyfields', (req, res) => {
   
      const promise1 = onlyfields.find({}, {_id:0})
      const promise2 = geopoints.find({}, {locations:1, _id:0})
      Promise.all([promise1, promise2])
        .then(([result1, result2]) => {
          res.send({ fields: result1, rows: result2 })
          console.log(result2)
        })
        .catch(err => {
          return res.status(400).json({
            error: 'Erorr en STATUS2'
          })
        })
    
})


Данные о местоположении хранятся в файле result2.

console.log показывает следующий ответ:


MongoDB Connected
[
  {
    locations: [
      2,
      '2015-01-15 14:00:41 +00:00',
      '2015-01-15 14:11:18 +00:00',
      1,
      1.4,
      -73.9837265,
      40.74634171,
      -73.96679688,
      40.76140594,
      8.5,
      0,
      9.3
    ]
  },
  {
    locations: [
      2,
      '2015-01-15 14:00:41 +00:00',
      '2015-01-15 14:11:18 +00:00',
      1,
      1.4,
      -73.9837265,
      40.74634171,
      -73.96679688,
      40.76140594,
      8.5,
      0,
      9.3
    ]
  }
]

Мне нужно изменить данные результата2 в следующем формате, который представляет собой массив массивов:

[
   [
      2,
      '2015-01-15 14:00:41 +00:00',
      '2015-01-15 14:11:18 +00:00',
      1,
      1.4,
      -73.9837265,
      40.74634171,
      -73.96679688,
      40.76140594,
      8.5,
      0,
      9.3
    ]
  ,
   [
      2,
      '2015-01-15 14:00:41 +00:00',
      '2015-01-15 14:11:18 +00:00',
      1,
      1.4,
      -73.9837265,
      40.74634171,
      -73.96679688,
      40.76140594,
      8.5,
      0,
      9.3
    ]

]

Был бы признателен за любую помощь. Заранее спасибо.

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Сравнение структур данных: Массивы и объекты в Javascript
Сравнение структур данных: Массивы и объекты в Javascript
Итак, вы изучили основы JavaScript и хотите перейти к изучению структур данных. Мотивация для изучения/понимания Структур данных может быть разной,...
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Прошлая статья была первой из цикла статей о создании системы электронной коммерции с использованием Keystone.js, и она была посвящена главным образом...
Приложение для отслеживания бюджета на React js для начинающих
Приложение для отслеживания бюджета на React js для начинающих
Обучение на практике - это проверенная тема для достижения успеха в любой области. Если вы знаете контекст фразы "Практика делает человека...
Стоит ли использовать React в 2022 году?
Стоит ли использовать React в 2022 году?
В 2022 году мы все слышим о трендах фронтенда (React, Vue), но мы не знаем, почему мы должны использовать эти фреймворки, когда их использовать, а...
1
0
21
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете просто сопоставить каждый из массивов результатов location, например.

function flatten(data) {
    return data.map(currEntry => currEntry.locations)
}

const data = [
    {
        locations: [
            2,
            '2015-01-15 14:00:41 +00:00',
            '2015-01-15 14:11:18 +00:00',
            1,
            1.4,
            -73.9837265,
            40.74634171,
            -73.96679688,
            40.76140594,
            8.5,
            0,
            9.3
        ]
    },
    {
        locations: [
            2,
            '2015-01-15 14:00:41 +00:00',
            '2015-01-15 14:11:18 +00:00',
            1,
            1.4,
            -73.9837265,
            40.74634171,
            -73.96679688,
            40.76140594,
            8.5,
            0,
            9.3
        ]
    }
];

function flatten(data) {
    return data.map(currEntry => currEntry.locations)
}

console.log(flatten(data))

Другие вопросы по теме