2013-05-07 57 views
0

我想在使用indexeddb存儲數據時創建索引。 但我有一個結構JSON像這樣的:使用indexeddb創建索引並使用複雜的json結構

{"query": 
     {"page": 
       {"4558": 
        {"pageid":4558,"title":"my-title","revisions": [{"user":"dake","timestamp":"54778788585","comment":"#REDIRECT[[Wikipedia:Welcome]]"}]}}}} 

我只是想創建一個指數,可以只存儲「稱號」的價值。如何能做到?

ObjetStore.createIndex(「title」,「title」,{unique:false})似乎不起作用。

數字「4558」是動態的,它在每個記錄上都不相同。這個結構由維基百科API提供,用於創建webapp。 非常感謝,我的英語對不起

回答

0

你問的具體是在IndexedDB中無法做到的。 IndexedDB支持key paths,但它們由一個或多個固定標識符組成。例如。 query.page.title或者其他東西都可以工作,但是沒有辦法讓任意數字出現在這個路徑中。

事先您可以最好地將此數據轉換爲更明智的數據(即類似數據庫記錄的頂級數據)。由於IndexedDB支持深層關鍵路徑,因此這些頁面的標識和標題不必出現在這些對象本身的頂層,但是如果您控制了數據,最好這樣做。

如果您實質上刪除了結構的{"query": {"page": {"4558":部分,也許就足夠了。除此之外,數據看起來非常好。