indexeddb更新版本的问题
indexeddb在更新版本的时候怎么给旧表添加或者删除索引?
查了很多资料,关于这块,都是只提了一句:只能在onupgradeneeded里进行修改。但是怎么修改谁也没说。
onupgradeneeded里创建新的表的时候是不需要事务的,直接createObjectStore就可以,返回的对象可以继续创建索引。
但是想要获取已经创建的数据库,需要使用事务,但是在onupgradeneeded中,事务是无效的,数据库版本正在升级,会报错。
然后就开始死循环了,升级的时候不能获取旧的表,升级完毕能获取表的时候又不让添加索引。那这索引就是一次性的?创建完成后就不能动了?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当然是在升级时就完成添加索引。
现在的问题是“旧数据需要添加索引”。
确定旧数据不会在升级后自动添加索引的话,那就只有更新旧数据了。
我也遇到了这个问题,解决了吗
请问解决了么