IndexedDB:如何重置/重置自动增量键为0(或1)

时间:2013-09-06 08:15:07

标签: javascript indexeddb

简单的问题,但我还没有找到答案。

如何在IndexedDB中重置对象存储,以便自动增量键从0(或1)再次开始?

我目前正在使用IDBWrapper,但如果更容易,可以使用替代库。我正在使用内联键。

从这里开始:http://jensarps.de/2011/11/25/working-with-idbwrapper-part-1

  

如果您需要从所有存储的条目中清除商店,您可以使用   明确的方法。请注意,这不会重置Chrome的autoIncrement   计数器。

如果我在Chrome Developer工具中手动清除对象库,则不会将密钥重置为0(或1)。

我确实发现了这个被拒绝的错误:https://bugzilla.mozilla.org/show_bug.cgi?id=635551并且从那里开始,这个密钥生成大纲:http://www.w3.org/TR/2012/WD-IndexedDB-20120524/#key-generator-concept

据推测,我可以编写自己的逻辑来记住最后清除商店的时间,然后更改插入记录的代码以手动覆盖密钥为0(或1),但这是否真的有必要?

2 个答案:

答案 0 :(得分:2)

如果不删除并重新创建对象库,则无法重置生成器。

https://w3c.github.io/IndexedDB/#key-generator-construct所述,生成的最大密钥为9007199254740992,并且:

  

如果您每天每秒生成1000次新密钥,那么就是您   超过285000年将不会达到此限制。

答案 1 :(得分:1)

根据规范,生成的键值可以是任何取决于浏览器实现的值。您的代码不应该依赖它。