【发布时间】:2016-07-31 08:42:59
【问题描述】:
如果我在 indexeddb 中有格式为 {name:'example1'} 的数据和 keypath - name 并且所有内容都按字母顺序排列,我如何才能不按字母顺序获得最后添加的记录?
这是我的数据库初始化
var openRequest = indexedDB.open("database",1);
openRequest.onupgradeneeded = function(e) {
var thisDB = e.target.result;
if(!thisDB.objectStoreNames.contains("add")) {
var store = thisDB.createObjectStore("add",{keyPath: 'name'});
}
if(!thisDB.objectStoreNames.contains("del")) {
var store = thisDB.createObjectStore("del",{keyPath: 'name'});
}
}
openRequest.onsuccess = function(e) {
console.log("running onsuccess");
db = e.target.result;
var transaction = db.transaction(["add"],"readonly");
var store = transaction.objectStore("add");
...
这是获取最后一项(这是错误的 - 它需要以“z”字母开头的最后一条记录):
var openRequest = indexedDB.open('database');
var type = true;
openRequest.onsuccess = function(e) {
db = e.target.result;
if(type) {
var transaction = db.transaction(msg.type,"readwrite");
var store = transaction.objectStore(msg.type);
var cursorRequest = store.openCursor(null,"prev");
cursorRequest.onsuccess = function(e) {
var result = e.target.result;
if(result) {
var key_t = result.key;
var del_request = result.delete();
del_request.onsuccess = function() {
console.log('Deleted '+key_t);
};
}
}
}
}
谢谢!
【问题讨论】:
标签: indexeddb