我实现我的web应用程序使用IndexedDB的储存器(Chrome只),存储记录沿清理IndexedDB的对象存储
{raw:"string",id:"string",dayUsed:number}
其中
- ID的行序列 - 是标识对象的唯一字符串(用作索引DB对象存储键
- dayUsed - 记录该对象使用的最后一天(自日期(2013,11,10))
随着应用程序的使用,该商店中的记录数量将增加。我想保持标签上有什么这个对象店里发生的事情,以修剪它,当
- 记录在存储号码exceeeds预设的阈值
- 有在店里用dayUsed值的记录超过预设的阈值
我也跟着教程MDN(其中顺便说一句有误传的一些小位)和实施的大部分我所需要的,但记录修剪位似乎仍不清楚。
IndexedDB提供的核心方法非常有限。例如,即使获得记录总数也不仅仅是发布单行数据。在应用程序运行时,我可以不时运行一个清理程序,该程序遍历整个对象存储并使用dayUsed breah删除条目。但是,鉴于我的对象库可能有几百个条目,这可能是一个冗长的操作,会降低应用程序的速度。那么在哪里?培养一个webworker来完成这项工作?
这看起来比我设想的更复杂。对我的问题 - 是否有高级包装提供SQL接口到IndexedDB商店,可以处理所有这些任务呢?
谢谢。最后,我最终编写了自己的代码来完成这项工作。然而,这是你的答案,让我走上正轨,所以我接受它。 – DroidOS