- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 IndexedDB对于一个测试项目。下面是一些示例代码:
var indexedDB = window.indexedDB || window.webkitIndexedDB
||window.mozIndexedDB||window.msIndexedDB;
var request = indexedDB.open("mydb",2),
customerData=[
{ssn:"444-44-4444",name:"Bill",age:35,email:"bill@company.com"},
{ssn:"555-55-5555",name:"Donna",age:32,email:"donna@home.org"}
];
request.onerror = function(event){
};
request.onupgradeneeded = function(event) {
var objectStore = db.createObjectStore("customers",{keyPath:"ssn"});
objectStore.createIndex("name","name",{unique:false});
objectStore.createIndex("email","email",{unique:true});
for(var i in customerData){
objectStore.add(customerData[i]);
}
};
request.onsuccess = function(e) {
};
我真正不明白的是我的请求对象何时运行 onupgradeneeded
而不是 onsuccess
(当然假设没有错误)。是在没有对象存储的时候吗?或者何时创建新的数据库版本?
谢谢
最佳答案
根据这个:https://developer.mozilla.org/en-US/docs/IndexedDB/Using_IndexedDB?redirectlocale=en-US&redirectslug=IndexedDB%2FIndexedDB_primer你已经有了正确的答案:
onupgradeneeded
在您更改数据库版本时调用:从无数据库到第一个版本,从第一个版本到第二个版本......
onsuccess
每次您发出新请求时都会被调用:即使数据库架构没有更改。
关于javascript - 何时以及为什么在 indexedDB 中调用 onupgradeneeded 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12133306/
我试图在我的索引数据库中插入数据,但从未调用函数 onupgradeneed,只是调用成功。数据库的版本总是相同的(它是一个全局变量)。我知道为了进入 onupgradeneed 版本必须始终相同。就
在我的应用中,用户应该能够动态创建和删除 objectStores。感谢indexedDB,这个操作(这到底是为什么)只被允许在onupgradeneeded中。 触发onupgradedneeded
我的代码如下(通常是众所周知的对象的命名约定): var DBOpenRequest = window.indexedDB.open("messages", 6); //... DBOpenReque
我收到的错误是: Uncaught InvalidStateError: Failed to execute 'createObjectStore' on 'IDBDatabase': The dat
多个 IndexedDB 文档讲述了以下初始化数据库和创建一个 ObjectStore 的顺序。 1) request = window.indexedDB.open(...) 2) request.
我正在尝试使用 IndexedDB 获取本地存储的一些数据。下面我有一个简单的示例,我试图用它来触发 onupgradeneeded 事件 var indexedDB =
我正在使用 IndexedDB对于一个测试项目。下面是一些示例代码: var indexedDB = window.indexedDB || window.webkitIndexedDB
我在使用 IndexedDB 时遇到问题。在 Firefox 18 上,当我创建一个新数据库时,onsuccess 方法被同时调用了 onupgradeneeded。在 Chrome 24 上(这是我
已经有这样的问答 Add Index to Pre-Existing ObjectStore In IndexedDB Using Javascript 但我看不出该代码如何满足 setVersion
我是一名优秀的程序员,十分优秀!