文档手册

Storage.Index

2024-07-18 14:58:32

class Storage.Index

持久性存储中的索引对象。

索引本身就是可持久化的集合:

storage.root = {
version:1,
notes: storage.createIndex("string") // note by id (string, GUID) index
}

Properties

length

整数、只读、索引长度、索引中的项(对象)数。

unique

布尔值,只读,如果索引声明为唯一,则为 true。

type

字符串,只读,键类型,因为它是在创建时声明的。只读属性。

Enumeration

索引支持 for(of) 枚举样式:

// log all objects in the index 
for( let obj of index )
console.log(obj);

枚举顺序是升序的。

提示

要按降序排列索引项,请使用 index.select()

Methods

set()

index.set( key, obj [, replace: true|false ] ) : true|false

将 obj 对象插入索引并将其与键值相关联。(可选)对于非唯一索引,如果索引中已存在此类键,则将其替换为现有对象,并且 replace 为 true。

get()

index.get( key ) returns: object | [objects...]

返回键位置的对象或 null。键的类型必须与索引对象的类型相同。如果索引创建为非唯一,则返回值是一个数组 - 键下的项列表(如果该键下没有项,则数组可以为空)。

delete()

index.delete( key [,obj] ) returns: true | false

方法从索引中按键删除对象 obj。Method 在成功时返回 true,否则返回 false。如果索引是唯一的,则 obj 是可选的。

select()

index.select( minKey, maxKey [, ascending [, startInclusive [, endInclusive]]] ) returns: Iterator.

返回索引中基于最小键/最大键条件、上升或下降顺序、开始(包含)、结束(包含)的选择。

 参数:

  • minKey, maxKey - 索引类型,要选择的键的最小值/最大值;

  • ascending - 布尔值,true 如果按升序枚举项目,false - 降序。默认值 ascending:true

  • startInclusive, endInclusive - 布尔值,如果枚举的开始/结束应包括 minKey/maxKey 本身,则为 true。

此方法旨在用于 for(of) 枚举:

for( const obj in index.select(minVal, maxVal) ) { 
...
}
 提示

minKey 或 maxKey 可以为 null - 表示从索引中的第一个或最后一个键进行搜索。

clear()

index.clear()

从索引对象中删除所有项 - 将其设为空。