Tengo una colección de ubicaciones en mongodb, escribí una API simple para obtener las ubicaciones, el siguiente es el código:
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' }) }) })Los datos de ubicación se almacenan en result2.
el archivo console.log muestra la siguiente respuesta:
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 ] } ]Necesito modificar los datos de result2 al siguiente formato, que es una matriz de matrices:
[ [ 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 ] ]Agradecería cualquier ayuda. Gracias por adelantado.
Simplemente puede mapear cada una de las matrices de location del resultado, por ejemplo
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))