2012-08-14 35 views
0

我在我的Windows8應用程序中使用IndexedDB(通過Linq2IndexedDB塊)來處理本地存儲。我需要檢索插入到本地數據庫中的最後一個自動遞增的ID(相當於mysql_insert_id)。我該如何繼續?Linq 2 IndexedDB:如何檢索上次插入的自動遞增鍵?

我找回我的記錄有:

db.linq.from("favoriteSearches").select().then(function(searches) { 
    // .... 
}); 

但是我對搜索無鑰匙的蹤影。

回答

2

如果對象存儲具有keyPath,則該對象將在關鍵路徑中定義的屬性中包含該關鍵字。

如果您未定義數據庫配置,則linq2indexeddb以自動生成模式運行。這意味着對象存儲和索引是在您需要時創建的。如果是這種情況,並且對象存儲是自動創建的,則對象存儲的keyPath爲「Id」,並且在返回數據中,您應該在「Id」屬性中找到鍵值

編輯: 如果linq2indexedDB lib 1.0.13的最新版本,當插入數據時,您將返回密鑰

db.linq.from("favoriteSearches").insert(data).then(function (args){ 
    var key = args.key; 
    var data = args.data; 
}) 
+0

非常感謝您對Twitter和此處的支持。事實上,我使用參數dbConfig來指定keyPath,並且都是正確的。 不確定,但隨着最新的更新,似乎DBViewer壞了。也許是我的代碼中的一個問題。將調查。 :) – 2012-08-16 08:24:57

+0

Tnx提到與dbviewer的問題,我會盡快查找。如果您在linq2indexeddb方法上配置它,也可以使用db.viewer查看indexeddb內部。 var db = linq2indexeddb(「name」,dbConfig,true) - >最後一個參數啓用日誌+查看器。 – 2012-08-16 08:42:28

相關問題