2012-12-28 31 views
2

我有這樣的代碼在IndexedDB的:獲取添加的記錄的關鍵在IndexedDB的

var request = objectStore.add({ entryType: entryType, entryDate: t}); 

現在我想知道這個紀錄剛在加的關鍵怎麼做呢?

我發現this article,這 代碼:

var data = {"bookName" : "Name", "price" : 100, "rating":"good"}; 
var request = objectStore.add(data); 
request.onsuccess = function(event){ 
    document.write("Saved with id ", event.result) 
    var key = event.result; 
}; 

這並沒有爲我工作 - 主要表現爲不確定。我想我在這裏錯過了一些基本的東西!

+0

我認爲這是對IndexedDB的一些文檔 - 有沒有相關信息,那裏? – halfer

+0

我找不到 - 有什麼想法? –

回答

0

這裏的訣竅是知道如何反覆使用短語進行搜索,直到找到所需的東西。我從來沒有聽說過IndexedDB,但似乎找到了你想要的。

我把"IndexedDB" into a search engine找到this。這就產生了「密鑰生成器」一詞,所以我searched for that as well這導致我thisthis

StackOverflow鏈接討論了使用UUID,這當然可以在JavaScript中生成,並且最後一個鏈接似乎有示例可以執行您想要的現成功能。

4

spec是爲用戶代理編寫的,而不是爲開發人員編寫的。所以它很混亂。密鑰生成器由用戶代理提供。

任何event收到的對象onsuccess處理程序始終有event.target.result。這是你正在尋找的關鍵。假設你將autoIncrement設置爲true,那麼如果你不提供它,那麼這個鍵就是自動生成的。

在步驟8 documented:如下:

  1. 此算法的結果是關鍵。
4

通過這個代碼進入

var data = {"bookName" : "Name", "price" : 100, "rating":"good"}; 
var request = objectStore.add(data); 
request.onsuccess = function(event){ 
    document.write("Saved with id ", event.result) 
    var key = event.target.result; 
}; 

希望這個代碼將努力獲取最後插入記錄的關鍵