【问题标题】:create a index with a complex json structure using indexeddb使用 indexeddb 创建具有复杂 json 结构的索引
【发布时间】:2013-05-07 09:30:05
【问题描述】:

我想在使用 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 提供。 非常感谢,对不起我的英语

【问题讨论】:

    标签: indexeddb


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-12-12
      • 1970-01-01
      • 2011-10-06
      • 2011-05-08
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      相关资源
      最近更新 更多