IDBDatabaseSync - 表示同步的 IndexedDB 数据库连接

重要:IndexedDB API 的同步版本最初仅用于 Web Workers 一起使用,由于其需求存在问题,最终被从规范中删除。但是,如果 Web 开发人员有足够的需求,将来可能会重新引入它。

IDBDatabaseSyncIndexedDB API 的接口,表示同步的 IndexedDB 数据库连接

属性

description readonly DOMString

可读的连接数据库描述。

name readonly DOMString

连接的数据库的名称。

objectStores readonly DOMStringList

连接的数据库中存在的对象存储的名称。

version readonly DOMString

连接的数据库的版本。首次创建数据库时为 null

方法

createObjectStore()

在连接的数据库中创建并返回具有给定名称的新对象存储。

 IDBObjectStoreSync createObjectStore(   
  in DOMString name,   
  in DOMString keypath,   
  in optional boolean autoIncrement 
) raises  (IDBDatabaseException);
参数

name

新对象库的名称。

keypath

新对象库使用的密钥路径。如果指定了空路径,则对象存储库没有键路径,而是使用脱机键。

autoIncrement

如果为 true,则对象存储区使用键值生成器; 如果为 false,则不使用。

返回

IDBObjectStoreSync

用于访问新创建的对象库的对象。

异常

此方法可以使用以下代码引发 IDBDatabaseException

CONSTRAINT_ERR

如果连接的数据库中已经存在具有相同名称(基于区分大小写的比较)的对象存储。

openObjectStore()

使用指定的模式在连接的数据库中打开具有给定名称的对象存储。

IDBObjectStoreSync openObjectStore (
  in DOMString name, 
  in optional unsigned short mode
) raises (IDBDatabaseException);
参数

name

要打开的对象库的名称。

mode

用于访问对象库的模式。

返回

IDBObjectStoreSync

用于访问打开的对象库的对象。

异常

此方法可以使用以下代码引发 IDBDatabaseException

NOT_FOUND_ERR

连接数据库中是否已经存在具有给定名称(基于区分大小写的比较)的对象存储。

removeObjectStore()

销毁具有给定名称的对象库以及引用该对象库的所有索引。

void removeObjectStore (
  in DOMString storeName
) raises (IDBDatabaseException);
参数

storeName

要删除的现有对象库的名称。

返回

void

异常

此方法可以使用以下代码引发 IDBDatabaseException

NOT_FOUND_ERR

如果给定名称的对象库(基于区分大小写的比较)在连接的数据库中不存在。

setVersion()

设置连接数据库的版本。

void setVersion (
  in DOMString version
);
参数

version

要存储在数据库中的版本。

返回

void

transaction()

创建并返回一个事务,如果可能的话,在指定的超时时间内获取给定数据库对象的锁。

IDBTransactionSync transaction (
  in optional DOMStringList storeNames,
  in optional unsigned int timeout
) raises (IDBDatabaseException);
参数

storeNames

在新事务的范围内的对象库的名称和索引。

timeout

允许此操作获取所有对象存储区和在 storeNames 中标识的索引的锁的时间间隔。

Returns

IDBTransactionSync

用于访问新创建的事务的对象。

异常

此方法可以使用以下代码引发 IDBDatabaseException

TIMEOUT_ERR

如果保存 storeNames 中标识的所有数据库对象时,花费的时间将超过 timeout 间隔。