IDBIndexSync - 提供对数据库中索引的同步访问
重要:IndexedDB API 的同步版本最初仅用于 Web Workers 一起使用,由于其需求存在问题,最终被从规范中删除。但是,如果 Web 开发人员有足够的需求,将来可能会重新引入它。
IDBIndexSync
是 IndexedDB API 的接口,提供对数据库中索引的同步访问。
属性
keyPath
readonly DOMString
此索引的键路径。如果此属性为 null
,则不会自动填充索引。
name
readonly DOMString
该索引的名称。
storeName
readonly DOMString
该索引的引用对象存储库。
unique
readonly boolean
如果为 true
,则键在索引中只能有一个值;如果为 false
,则键可以具有重复的值。
方法
add()
将给定值存储到此索引中,可以选择使用指定的键。如果使用给定键的记录已经存在,则会引发异常。
any add(
in any value,
in optional any key
) raises (IDBDatabaseException);
参数
value
要存储到索引中的值。
key
用于标识记录的键名。
返回
any
存储记录的键。
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
CONSTRAINT_ERR
如果此索引中存在与 key 参数相对应的键的记录,或者索引是自动填充的,或者在索引的引用对象存储中不存在与 value 参数相对应的键的记录。
get()
从该索引中检索与给定键对应的记录的值。
any get (
in any key
) raises (IDBDatabaseException);
参数
key
标识要检索的记录的键。
返回
any
从索引中检索到的值。
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
NOT_FOUND_ERR
如果给定键的索引中没有记录。
getObject()
从该索引的引用对象存储中检索并返回与给定键对应的值。
any getObject (
in any key
) raises (IDBDatabaseException);
参数
key
标识要检索的记录的键。
返回
any
从引用的对象库中检索的值。
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
NOT_FOUND_ERR
如果给定键的索引中没有记录。
openCursor()
在此索引的记录上创建一个游标。新游标的范围与指定的键范围匹配;如果未指定键范围或为 null
,则该范围包括所有记录。
void openCursor (
in optional IDBKeyRange range,
in optional unsigned short direction
) raises (IDBDatabaseException);
参数
range
用作游标范围的键范围。
direction
游标的方向。
返回
void
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
NOT_FOUND_ERR
如果该索引中没有请求的键范围的记录。
openObjectCursor()
根据该索引的安排,在此索引的引用对象存储的记录上创建一个游标。新游标的范围与指定的键范围相匹配;如果未指定键范围或为 null,则该范围包括所有记录。
void openObjectCursor (
in optional IDBKeyRange range,
in optional unsigned short direction
) raises (IDBDatabaseException);
参数
range
用作游标范围的键范围。
direction
游标的方向。
返回
void
异常
此方法可以使用以下代码引发 IDBDatabaseException
:
NOT_FOUND_ERR
如果该索引中没有请求的键范围的记录。
put()
将给定值存储在此索引中,并返回存储记录的键。如果使用给定键已存在记录,则该记录将被覆盖。
any put (
in any value,
in optional any key) raises (IDBDatabaseException);
参数
value
要存储在记录中的值。
key
用于标识记录的键名。
返回
any
存储记录的键。
remove()
从该索引中删除与给定键对应的所有记录。
void remove (
in any key
) raises (IDBDatabaseException);
参数
key
要删除的记录的键。
异常
此方法可以使用以下代码引发 DatabaseException
:
NOT_FOUND_ERR
如果记录中不存在具有给定键的记录。