Я создал 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({})
}
}
}
Может кто-нибудь объяснить мне, почему моя база данных перезаписывается?