Я использую sequelize с MySQL для вставки записи. Я использую таблицу для отображения средних значений за определенное время. Я хочу проверить таблицу на наличие записи, которой меньше недели, если есть такая, которую я хочу вернуть этой записи клиенту, если нет записи, которая меньше недели, я вычисляю средние значения и вставляю ее в таблицу, однако, запись вставляется дважды. Единственное, что я могу сказать, это то, что оно может иметь какое-то отношение к событию узла l oop, потому что эту функцию можно вызывать в пределах al oop, я могу ошибаться. Почему я получаю дубликаты записей в средней таблице?
let averages;
let week = 7 * 60 * 60 * 24 * 1000;
let weekAgo = new Date(Date.now() - week);
averages = await sequelize.models.Average.findOne({
where: {
industry_id: industry._id,
createdAt: {
[Op.gte]: weekAgo,
},
},
});
if (averages) {
return averages.dataValues;
}
averages = await getIndustryAverage(industry);
averages = averages.dataValues;
averages = await Average.create({
industry_id: industry._id,
// fields....
});
return averages.dataValues;