【问题标题】:What would be the fastest way to achieve the equivalent of mysql - "truncate tablename" for IndexedDB?实现 mysql - IndexedDB 的“截断表名”的最快方法是什么?
【发布时间】:2014-07-25 17:06:24
【问题描述】:

我正在尝试找到最快的方法来清除object_store(表)中的IndexedDB 中的数据。

假设存储了 5000 多条记录。

我只想到了.deleteObjectStore,但它创建了以下error

InvalidStateError: A mutation operation was attempted on a database that did not allow mutations.

您似乎只能在versionchange transaction 中使用createdeleteobject_store

database 连接时,实现IndexedDB 等效mysql - truncate tablename 的最快方法是什么?

【问题讨论】:

    标签: javascript html indexeddb


    【解决方案1】:

    你考虑过IDBObjectStore.clear 吗?

    【讨论】:

    • .deleteOjectStore 相同的问题给出mutation error。好像.clear.deleteObjectStore 只能在versionchange transaction 期间运行。除非我做错了什么。这是我尝试过的。 var store = db.obj.transaction(['cow']).objectStore('cow'); store.clear();
    • k,刚刚在 FireFox 中测试了这个并给了我一个错误:TypeError: store.clear is not a function 这是我使用的代码:var store = db.obj.transaction(['cow'],'readwrite'); store.clear();
    • 我必须添加 store.objectStore('cow').clear() 有点傻,没想到这一点
    猜你喜欢
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 2010-09-23
    相关资源
    最近更新 更多