indexeddb在更新版本的时候怎么给旧表添加或者删除索引?查了很多资料,关于这块,都是只提了一句:只能在onupgradeneeded里进行修改。但是怎么修改谁也没说。onupgradeneeded里创建新的表的时候是不需要事务的,直接createObjectStore就可以,返回的对象可以继续创建索引。但是想要获取已经创建的数据库,需要使用事务,但是在onupgradeneeded中,事务是无效的,数据库版本正在升级,会报错。然后就开始死循环了,升级的时候不能获取旧的表,升级完毕能获取表的时候又不让添加索引。那这索引就是一次性的?创建完成后就不能动了?
1 回答
MYYA
TA贡献1868条经验 获得超4个赞
升级的时候不能获取旧的表,升级完毕能获取表的时候又不让添加索引
当然是在升级时就完成添加索引。
现在的问题是“旧数据需要添加索引”。
确定旧数据不会在升级后自动添加索引的话,那就只有更新旧数据了。
添加回答
举报
0/150
提交
取消