IDBDatabase.deleteObjectStore()

 deleteObjectStore() 方法从 IDBDatabase 中销毁指定名称的对象存储,及这个对象存储所包含的任何索引。

IDBDatabase.createObjectStore 一样,此方法只能versionchange事务中调用

Note: 此特性在 Web Worker 中可用。

语法

dbInstance.deleteObjectStore(name);

参数

name
将要删除的对象存储的名字

异常

此方法可能会引发下列 DOMException  异常:

Exception Description
InvalidStateError Occurs if the method was not called from a versionchange transaction callback. For older WebKit browsers, you must call first.
TransactionInactiveError Occurs if a request is made on a source database that doesn't exist (e.g. has been deleted or removed.) In Firefox previous to version 41, an InvalidStateError was raised in this case as well, which was misleading; this has now been fixed (see bug 1176165.)
NotFoundError You are trying to delete an object store that does not exist. Names are case sensitive.

示例

var dbName = "sampleDB";
var dbVersion = 2;
var request = indexedDB.open(dbName, dbVersion);

request.onupgradeneeded = function(e) {
  var db = request.result;
  if (e.oldVersion < 1) {
    db.createObjectStore("store1");
  }

  if (e.oldVersion < 2) {
    db.deleteObjectStore("store1");
    db.createObjectStore("store2");
  }

  // etc. for version < 3, 4...
};

Specification

Specification Status Comment
Indexed Database API 2.0
deleteObjectStore()
Recommendation
Indexed Database API Draft
deleteObjectStore()
Recommendation

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
deleteObjectStoreChrome Full support 24
Full support 24
No support 23 — 24
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support 12Firefox Full support 16
Full support 16
No support 10 — 16
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE Full support 10
Notes
Full support 10
Notes
Notes partial
Opera Full support 15Safari Full support 7WebView Android Full support YesChrome Android Full support 25Firefox Android Full support 22Opera Android Full support 14Safari iOS Full support 8Samsung Internet Android Full support Yes

Legend

Full support  
Full support
See implementation notes.
See implementation notes.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also