You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dexie bulkPut操作中数组未变更却触发updating钩子的问题

Dexie的table.hook('updating')钩子对数组的异常触发问题

我在测试Dexie的table.hook('updating', (mods, pk, obj) => {})钩子时发现:使用.bulkPut()更新数据时,即便传入数组的内容完全没有变化,该钩子仍会将数组字段标记为已修改;但更新数据源data.json中的字符串值时,钩子仅在值实际变更时触发,表现符合预期。我不确定数组值在Dexie中是否存在特殊处理逻辑。

测试代码

this.animal.hook('updating', (mods, pk) => {
    console.log("Bull GlobalId: ", pk, " Updated: ", mods);
});

控制台日志输出

Bull GlobalId: HO-M-20201010-840-003223871370  
Updated:  
  {naab_codes: Array(2), animal.NaabCodes: Array(2)}
    animal.NaabCodes: Array(2)
      0: {NaabCode: '250HO15702', Sexed: false, Priority: 0, IsPrimaryNaabCode: true}
      1: {NaabCode: '7HO15702', Sexed: false, Priority: 1, IsPrimaryNaabCode: false}
    naab_codes: Array(2)
      0: "250HO15702"
      1: "7HO15702"

内容的提问来源于stack exchange,提问作者ddamko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 18:53:17