我刚刚学习了indexedDB,这是我对建立数据库的理解。您可以拨打.open(dbName)
来获取数据库实例。如果在用户的计算机上没有该名称的数据库(例如,这是他们第一次访问该站点),那么这会触发一个onUpdateNeeded事件,因此您应该在其中执行初始化操作,比如创建ObjectStores。为什么indexedDB使用“版本”?
现在,您还可以传递一个版本 - .open(dbName, version)
- 并且如果数据库存在但使用较低版本,则无论如何这会强制执行onUpdateNeeded事件。现在,我可以看到这个实用程序......但为什么要有一个整数参数?如果“版本”参数的要点是强制更新,为什么不只是有一个forceUpdate
标志?为什么需要一个整数版本参数,因此在调试代码时需要增加更高的版本,经过多天的调试后可能达到版本156?
除了强制更新之外,我还没有意识到某些功能是否使用了该版本,如果不是,那么它背后的基本原理是什么?此外,您是否打算在开发过程中不断更改版本,但在应用程序发布后保持固定,还是应该在应用程序的整个生命周期中不断更改它?
* *之后它很有用:发布程序,某人使用它,保存了一些数据,并且创建了一个不兼容的数据存储更新。当然,对于本地测试,您只需要每次清除它。 – transistor09