我想在使用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提供。 非常感谢,对不起我的英语
答案 0 :(得分:0)
您在IndexedDB中无法做出具体要求。 IndexedDB确实支持key paths,但它们由一个或多个固定标识符组成。例如。 query.page.title
或其他东西可行,但无法允许任意数字出现在此路径中。
您可以事先将此数据转换为更合理的数据(即类似于数据库记录的内容)。由于IndexedDB支持深层键路径,因此这些页面的id和title不必出现在这些对象本身的顶层,但如果您控制数据,那么最好这样做。
如果您基本上删除了结构的{"query": {"page": {"4558":
部分,那也许就足够了。除此之外,数据看起来还不错。