2013-05-07 115 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":部分,也许就足够了。除此之外,数据看起来非常好。