簡體   English   中英

IndexedDB:如何將自動增量鍵重新設置/重置為 0(或 1)

[英]IndexedDB: how to reseed/reset auto-increment key to 0 (or 1)

簡單的問題,但我一直無法找到答案。

如何重置 IndexedDB 中的 object 存儲,以便自動增量鍵再次從 0(或 1)開始?

我目前正在使用 IDBWrapper,但如果更容易,可以使用替代庫。 我正在使用內嵌鍵。

從這里開始: http://jensarps.de/2011/11/25/working-with-idbwrapper-part-1

如果需要從所有存儲的條目中清除存儲,可以使用 clear 方法。 請注意,這不會重置 Chrome 的 autoIncrement 計數器。

如果我在 Chrome 開發人員工具中手動清除 object 存儲,這不會將密鑰重置為 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),但這真的有必要嗎?

如果不刪除並重新創建對象庫,則無法重置生成器。

https://w3c.github.io/IndexedDB/#key-generator-construct中所述,生成的最大密鑰為9007199254740992,並且:

如果您每天晝夜生成1000次新密鑰,則超過285000年您將不會遇到此限制。

根據規范,生成的鍵值可以是任何取決於瀏覽器實現的值。 您的代碼不應該依賴它。

如果不刪除並重新創建 object 存儲,則無法重置生成器。 https://github.com/Tesfaye-Eshetie/reusable-comment-component/blob/store-comments-IndexedDB/js/idb/indexedDB.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM