已经存在类似的问题和答案
Add Index to Pre-Existing ObjectStore In IndexedDB Using Javascript
但我无法看到该代码如何满足setVersion和onUpgradeNeeded方法的增量版本。像下面的pseudoCode ..
if (oldVersion < 1)
createObjectStore
if (oldVersion < 2)
createNewIndex
etc etc etc...
即。我知道如何获取setVersion方法的oldVersion(检查db.serVersion是否存在,然后查询db.version的值),但我不知道如何为较新的onUpgradeNeeded方法获取旧版本。
从http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#request-api开始并不明显: - (
THANX。
答案 0 :(得分:2)
有几种方法。首先,数据库的新版本是打开数据库时提供的版本号。
var version = 2;
var request = indexeddb.open("name", version)
所以如果你使用变量,你可以这样做。但是onupgradeneeded事件也提供了eventdata
request.onupgradeneeded = function (e) {
var transaction = request.result;
var oldVersion = e.oldVersion;
var newVersion = e.newVersion;
};
如您所见,eventdata作为参数传递给onupgradeneeded回调