修改对象存储的主键值

Change primary key value of an object store

本文关键字:键值 存储 对象 修改      更新时间:2023-09-26

如何更改对象存储的主键值(keyPath) ?如果这是不可能的,IndexedDB团队有任何计划来支持这个特性吗?

不能修改对象存储(或索引)的键路径。这样做需要将所有数据重新插入到存储中,这可能会失败(例如,如果有约束失败),所以它留给用户代码作为升级(版本更改)的一部分来做。

索引DB v2(至少很快会在Firefox和Chrome中支持)允许您在模式更改期间重命名存储(和索引),因此您可以进行版本升级,创建新存储,复制数据,适当地响应约束失败,删除旧存储,然后重命名新存储。在对"v2"的支持得到广泛应用之前,您只能使用新名称。