0

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

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

我只想创建一个只能存储“title”值的索引。怎么办?

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

数字“4558”是动态的,每条记录都不相同。这个结构由我用来创建 web 应用程序的 Wikipedia API 提供。非常感谢,对不起我的英语

4

1 回答 1

0

您特别要求的内容在 IndexedDB 中是不可能做到的。IndexedDB 确实支持关键路径,但它们由一个或多个固定标识符组成。例如query.page.title或其他东西会起作用,但没有办法允许任意数字出现在此路径中。

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

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

于 2013-05-07T12:54:48.830 回答