HTML5 Indexed Database API 入門(13) - 索引

HTML5 Indexed Database API 入門系列

索引主要應用於資料的搜尋,透過索引,應用程式可以針對物件倉儲內的資料,進行更有效率的搜尋操作,介面 IDBIndex 定義索引物件的功能,它支援的屬性以及方法成員。倉儲中的索引,可以透過引用 IDBObjectStore 介面的 indexNames 屬性取得,定義如下:

readonly attribute DOMStringList  indexNames;

此屬性回傳包含所有索引名稱字串的集合,這是一個 DOMStringList 型態資料,經由迴圈即可將其中的索引全部取出。考慮以下的程式片段:

var request = indexedDB.open(requestName);
            request.onsuccess = function (event) {
                db = event.target.result;
                version = db.version;
                var transaction = db.transaction([objectStoreName]);
                var store = transaction.objectStore(objectStoreName);
                var indexes = store.indexNames
                
                for (var i = 0; i < indexes.length; i++) {                    
                           //  store.index(indexes[i]).keyPath
                 }
            };

於 success 事件處理器中,建立交易物件並取得所要操作的物件倉諸物件,緊接著引用 indexNames 取出所有的索引名稱的字串集合。接下來利用一個 for 迴圈將其逐一取出,最後顯示在網頁上。

HTML5 Indexed Database API 入門系列

沒有留言: