Как не перезаписать мою базу данных sqlite в AdoniJS? - PullRequest
1 голос
/ 28 июня 2019

Я создал API, который загружает данные из другого API, хранит данные в базе данных sqlite.У меня есть 4 параметра в моем маршруте, и после этого мое приложение проверяет, находится ли этот вход в моей базе данных, если это значение возвращается из базы данных, и если это не значение, возвращается из основного API.Иногда возникает проблема, я не знаю, когда моя база данных перезаписывает последний вход.

асинхронный индекс ({запрос, ответ}) {

const date = request.input('date');
const hourInput = request.input('hour');
const lat = request.input('lat');
const lon = request.input('lon');

const weatherData = await Weather
  .query()
  .where('lat', '=', lat)
  .where('long', '=', lon)
  .where('hour', '=', hourInput)
  .where('date', '=', date)
  .fetch()
if (weatherData.rows[0]) {
  console.log("exista")
  response.json(weatherData.rows[0].temp_c)
} else {
  try {
    const history = await axios.get('http://api.apixu.com/v1/history.json?key=' + WEATHER_KEY + '&q=' + lat + ',' + lon + '&dt=' + date)
    for (let i = 0; i <= 23; i++) {
      const hour = history.data.forecast.forecastday[0].hour[i].time.slice(11, 13);
      if (hourInput === hour) {
        const temp = history.data.forecast.forecastday[0].hour[i].temp_c;
        weather.lat = lat;
        weather.long = lon;
        weather.date = date;
        weather.hour = hourInput;
        weather.temp_c = temp;
        await weather.save();
        response.json(temp)
        console.log("Nu")
      }

      //response.json(weatherData.rows);
    }


  } catch (err) {
    console.log(err);
    //response.status(500).json({})
  }
}

}

Может кто-нибудь объяснить мне, почему моя база данных перезаписывается?

...