indexeddb更新版本的问题

indexeddb在更新版本的时候怎么给旧表添加或者删除索引?
查了很多资料,关于这块,都是只提了一句:只能在onupgradeneeded里进行修改。但是怎么修改谁也没说。
onupgradeneeded里创建新的表的时候是不需要事务的,直接createObjectStore就可以,返回的对象可以继续创建索引。
但是想要获取已经创建的数据库,需要使用事务,但是在onupgradeneeded中,事务是无效的,数据库版本正在升级,会报错。
然后就开始死循环了,升级的时候不能获取旧的表,升级完毕能获取表的时候又不让添加索引。那这索引就是一次性的?创建完成后就不能动了?

慕容708150
浏览 675回答 1
1回答

MYYA

升级的时候不能获取旧的表,升级完毕能获取表的时候又不让添加索引当然是在升级时就完成添加索引。现在的问题是“旧数据需要添加索引”。确定旧数据不会在升级后自动添加索引的话,那就只有更新旧数据了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript