连续两次插入记录

时间:2020-04-15 00:47:49

标签: mysql node.js typescript debugging sequelize.js

我正在将sequelize与MySQL一起插入记录。我正在使用一张表格来映射一段时间内的平均值。我想检查表中是否有不到一周的记录,如果有我想将该记录退还给客户,如果没有记录,则要计算平均值并插入平均值但是,将记录插入表中两次。我唯一的线索是它可能与节点事件循环有关,因为可以在循环内调用此函数,这可能是错误的。为什么我在平均值表中得到重复的记录?

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;

0 个答案:

没有答案