【问题标题】:Sequelize create make more than one record issueSequelize create 制作多个唱片发行
【发布时间】:2021-05-24 18:16:30
【问题描述】:

我正在尝试使用 sequelize create 保存一些事件的日志,但是当我调用 create 方法时,保存了多个记录(可能是 2 或 3 个相同的记录)。 我正在使用 node.js 和续集。 我确保我调用了一次 add 方法并且我等待它。 控制器:

async addLog(){   
    
     let log = await UserLog.addLog({Uid:user_id,date:new Date()})
    return log
  }

UserLog 模型:

public static async addLog(logObject: LogType) {
        return await LogEntity.create(logObject, {raw: true});
      }

任何建议

【问题讨论】:

    标签: javascript node.js typescript sequelize.js sequelize-typescript


    【解决方案1】:

    确保 addLog() 函数仅从一个点被调用。

    您可以使用 sequileze 的upsert 函数,该函数仅在唯一条件不满足时才插入新记录,否则它将更新记录。在您的情况下,UID 和日期可用于唯一性。

    【讨论】:

    • upsert 和唯一键是很好的解决方法,但我想知道这个问题背后的真正原因。是的,我确保我从某一点调用了 addLog() 。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2019-06-04
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    相关资源
    最近更新 更多