ORM工具 Sequelize:update方法产生更新语句,而非update语句的异常情况的原因

异常:

  • 异常描述:
    • 由于一些原因需要对相关的方法进行封装处理,于是乎进行了简单的封装操作。
    • 在查阅了官方文档,以及相关的资料后。在官方文档中提及了update方法,均是create后获取的对象实例,之后再执行更新的操作,而没有以形参作为对象进行update的调用。
    • 在我的方法中,我使用了形参对象进行执行update操作,但从输出的 日志中,始终为insert into

我的代码:

复制代码
let updateToId = async (catalog) => {
    if (!catalog instanceof Catalog) return false;

    //注意,我这里使用的是形参进行的update 调用,这里也是问题的原因
  //标蓝色方法,是我的在class对象中封装的获取非主键ID 方法,返回的结果类似于{xxx:xx,xxx2:xx}这种
let data = await catalog.update(catalog.jsonCatalogUp(), { where: { id: catalog.id } }); return data; }
复制代码

此时实际输出的日志信息均是 insert into

解决办法:

复制代码
const Catalog = require('../models/catalogModel').Catalog;

let updateToId = async (catalog) => {
    if (!catalog instanceof Catalog) return false;
  //使用非形参对象进行调用,形参仅用来参数封装
    let data = await Catalog.update(catalog.jsonCatalogUp(), {
        where: {
            id: catalog.id
        }
    });
    return data;
}
复制代码

 

posted @   众生皆草木  阅读(359)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示