如何更改对象存储的主键值 (keyPath
)?如果这不可能,IndexedDB 团队是否有计划支持此功能?
最佳答案
您不能修改对象存储(或索引)的键路径。这样做需要将所有数据重新插入到存储中,这可能会失败(例如,如果存在约束失败),因此作为升级(版本更改)的一部分,留给用户代码来执行此操作。
Indexed DB v2(至少在 Firefox 和 Chrome 中即将支持)允许您在模式更改期间重命名存储(和索引),因此您可以进行版本升级以创建新存储、复制数据、响应为了适本地约束失败,删除旧存储,然后重命名新存储。不过,在“v2”支持得到广泛支持之前,您必须坚持使用新名称。
关于javascript - 更改对象存储的主键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40340117/