var connection = require('./../config');
var request = require("request");
module.exports.travelsummary = function (req, res, callback) {
var id = req.body.id;
var start_date = req.body.start_date;
var end_date = req.body.end_date;
var full_data = [];
if (id == undefined) {
res.json({
message: 'Please enter user id'
});
return;
}
var query1 = `SELECT imei FROM gs_user_objects WHERE user_id = ${id}`;
connection.query(query1, function (error, result1, fields) {
if (!error) {
for (i = 0; i < result1.length; i++) {
var table_name = 'gs_object_data_' + result1[i].imei;
console.log(table_name);
var query2 = `SELECT * FROM ${table_name} WHERE dt_server BETWEEN '${start_date}' AND '${end_date}'`;
//var qry3 = `SELECT * FROM gs_object_data_358899059206311 WHERE dt_server BETWEEN '2019-05-27 06:06:57' AND '2019-05-28 06:06:57'`
connection.query(query2, function (error, result2) {
full_data[i] = (result2);
console.log(full_data);
console.log(query2)
if (i == result1.length && !error && result2.length > 0) {
res.json({
message: 'data fetch successfuly',
data: full_data
})
}
});
}
}
});
};
из первого ответа на запрос принимает в качестве входных данных внутренний запрос, затем результат отправляется в ответе, но данные получают только последнюю таблицу.
как я могу получить данные каждой таблицы в отдельном массиве?
OUTPUT-
{
"message": "data fetch successfully",
"data": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
[
{
"dt_server": "2019-05-27T00:42:16.000Z",
"dt_tracker": "2019-05-27T00:42:16.000Z",
"lat": 18.601397,
"lng": 73.932204,
"altitude": 0,
"angle": 0,
"speed": 0,
"params": "{\"gpslev\":\"5\",\"pump\":\"1\",\"track\":\"1\",\"bats\":\"1\",\"acc\":\"0\",\"defense\":\"0\",\"batl\":\"6\"}",
"ignition": "",
"power": "",
"AC": "",
"distance": "",
"total_distance": ""
},
{
"dt_server": "2019-05-27T00:49:46.000Z",
"dt_tracker": "2019-05-27T00:49:46.000Z",
"lat": 18.601397,
"lng": 73.932204,
"altitude": 0,
"angle": 0,
"speed": 0,
"params": "{\"gpslev\":\"5\",\"pump\":\"1\",\"track\":\"1\",\"bats\":\"1\",\"acc\":\"0\",\"defense\":\"0\",\"batl\":\"6\"}",
"ignition": "",
"power": "",
"AC": "",
"distance": "",
"total_distance": ""
},
{
"dt_server": "2019-05-27T01:08:03.000Z",
"dt_tracker": "2019-05-27T01:08:03.000Z",
"lat": 18.601397,
"lng": 73.932204,
"altitude": 0,
"angle": 0,
"speed": 0,
"params": "{\"gpslev\":\"5\",\"pump\":\"1\",\"track\":\"1\",\"bats\":\"1\",\"acc\":\"0\",\"defense\":\"0\",\"batl\":\"6\"}",
"ignition": "",
"power": "",
"AC": "",
"distance": "",
"total_distance": ""
},
{
"dt_server": "2019-05-27T01:17:50.000Z",
"dt_tracker": "2019-05-27T01:17:50.000Z",
"lat": 18.601397,
"lng": 73.932204,
"altitude": 0,
"angle": 0,
"speed": 0,
"params": "{\"gpslev\":\"5\",\"pump\":\"1\",\"track\":\"1\",\"bats\":\"1\",\"acc\":\"0\",\"defense\":\"0\",\"batl\":\"6\"}",
"ignition": "",
"power": "",
"AC": "",
"distance": "",
"total_distance": ""
},
{
"dt_server": "2019-05-27T01:25:11.000Z",
"dt_tracker": "2019-05-27T01:25:11.000Z",
"lat": 18.601397,
"lng": 73.932204,
"altitude": 0,
"angle": 0,
"speed": 0,
"params": "{\"gpslev\":\"5\",\"pump\":\"1\",\"track\":\"1\",\"bats\":\"1\",\"acc\":\"0\",\"defense\":\"0\",\"batl\":\"6\"}",
"ignition": "",
"power": "",
"AC": "",
"distance": "",
"total_distance": ""
},
{
"dt_server": "2019-05-27T01:32:31.000Z",
"dt_tracker": "2019-05-27T01:32:31.000Z",
"lat": 18.601397,
"lng": 73.932204,
"altitude": 0,
"angle": 0,
"speed": 0,
"params": "{\"gpslev\":\"5\",\"pump\":\"1\",\"track\":\"1\",\"bats\":\"1\",\"acc\":\"0\",\"defense\":\"0\",\"batl\":\"6\"}",
"ignition": "",
"power": "",
"AC": "",
"distance": "",
"total_distance": ""
}
]
]
}
Я пытаюсь найти данные из таблицы, которую таблица получает из первого запроса, а затем искать данные из каждой таблицы, которая дает первый запрос, так что зачем использовать вложенный запрос.В выходной файл отправьте все данные как нулевые и последние данные таблицы, отправленные в массив.