2013-12-15 43 views
0

我实现我的web应用程序使用IndexedDB的储存器(Chrome只),存储记录沿清理IndexedDB的对象存储

{raw:"string",id:"string",dayUsed:number} 

其中

  1. ID的行序列 - 是标识对象的唯一字符串(用作索引DB对象存储键
  2. dayUsed - 记录该对象使用的最后一天(自日期(2013,11,10))

随着应用程序的使用,该商店中的记录数量将增加。我想保持标签上有什么这个对象店里发生的事情,以修剪它,当

  1. 记录在存储号码exceeeds预设的阈值
  2. 有在店里用dayUsed值的记录超过预设的阈值

我也跟着教程MDN(其中顺便说一句有误传的一些小位)和实施的大部分我所需要的,但记录修剪位似乎仍不清楚。

IndexedDB提供的核心方法非常有限。例如,即使获得记录总数也不仅仅是发布单行数据。在应用程序运行时,我可以不时运行一个清理程序,该程序遍历整个对象存储并使用dayUsed breah删除条目。但是,鉴于我的对象库可能有几百个条目,这可能是一个冗长的操作,会降低应用程序的速度。那么在哪里?培养一个webworker来完成这项工作?

这看起来比我设想的更复杂。对我的问题 - 是否有高级包装提供SQL接口到IndexedDB商店,可以处理所有这些任务呢?

回答

0

看看我的图书馆https://bitbucket.org/ytkyaw/ydn-db/wiki/Home

关键是你只是用钥匙来算日常使用withiut存储任何东西。

+0

谢谢。最后,我最终编写了自己的代码来完成这项工作。然而,这是你的答案,让我走上正轨,所以我接受它。 – DroidOS

1

www.dexie.org

简约IndexedDB的库。

+0

我写了自己的代码来处理所有IndexDB的东西。尽管如此,dexie看起来很有趣,所以+1引起了我的注意。 – DroidOS