HTML5 Indexed Database API 入門(7) - 列舉物件倉儲

HTML5 Indexed Database API 入門系列

物件倉儲是資料真正儲存的地方,因此當資料庫建立完成之後,接下來便是進一步建構管理資料需要的物件倉儲結構,為了方便後續討論,以下先說明如何取得目前資料庫中已存在的物件倉儲清單。
透過 IDBDatabase 資料庫物件,引用其 objectStoreNames 屬性成員,即可取得包含所有物件倉儲的名稱集合,它的定義如下:

readonly attribute DOMStringList objectStoreNames;

這是一個唯讀屬性,回傳的是一個 DOMStringList 字串清單,利用迴圈可以將其中的資料逐一取出,即可獲得所有的物件倉儲名稱。考慮以下的程式碼:

        function listObjectSore() {
            var request = indexedDB.open(reuestName);
            request.onsuccess = function (event) {
                db = event.target.result;
                var stores = db.objectStoreNames;  // 所有物件倉儲的名稱字串清單
                var length = db.objectStoreNames.length;              
                for (var i = 0; i < length; i++) {
                    // stores[i] 為物件倉儲
                }      
                db.close();
            };
        }

以灰階標示的程式碼,其中資料庫的參照變數 db ,引用 objectStoreNames 取得物件倉儲的字串清單,並且透過 for 迴圈,取出的每個名稱項目,特定的資料倉儲名稱。

HTML5 Indexed Database API 入門系列


沒有留言: