使用indexeddb创建具有复杂json结构的索引

时间:2013-05-07 09:30:06

标签: indexeddb

我想在使用indexeddb存储数据时创建索引。 但我有一个像这样的结构json:

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

我只想创建一个只能存储" title"的值的索引。如何做?

ObjetStore.createIndex("标题","标题",{unique:false})似乎不起作用。

号码" 4558"是动态的,它在每条记录上都不一样。这个结构由我用来创建webapp的Wikipedia API提供。 非常感谢,对不起我的英语

1 个答案:

答案 0 :(得分:0)

您在IndexedDB中无法做出具体要求。 IndexedDB确实支持key paths,但它们由一个或多个固定标识符组成。例如。 query.page.title或其他东西可行,但无法允许任意数字出现在此路径中。

您可以事先将此数据转换为更合理的数据(即类似于数据库记录的内容)。由于IndexedDB支持深层键路径,因此这些页面的id和title不必出现在这些对象本身的顶层,但如果您控制数据,那么最好这样做。

如果您基本上删除了结构的{"query": {"page": {"4558":部分,那也许就足够了。除此之外,数据看起来还不错。