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()
从索引对象中删除所有项 - 将其设为空。