Skip to content

Store

indexedDB API存储类。

基本用法

通过此存储类可以进行数据库的增删改查操作,一般不直接实例化对象,可通过IdxDB.store方法获取存储对象。

ts
const idxDB = useIdxDB()

const logs = [
  {
    id: 1,
    text: '测试1'
  },
  {
    id: 2,
    text: '测试2'
  },
]

await idxDB?.store("logs")?.addList(logs)
const result = await idxDB?.store("logs")?.getAll()
console.log(result)

构造函数

ts
constructor(db: IDBDatabase, name: string)
参数说明类型默认值是否必填
db数据库对象IDBDatabase-
name存储名称string-

方法

参数说明类型
add添加数据<T = unknown>(data: T) => Promise<T>
addList添加多条数据<T = unknown[]>(data: T) => Promise<T>
deleteByKey通过key删除数据(key: string) => Promise<undefined>
deleteByQuery通过指定条件删除数据(isLike默认为false)<T = any>(query: Query<T>) => Promise<boolean>
clear清空存储数据() => Promise<undefined>
updateByKey通过key更新数据(data: any, key: string) => Promise<IDBValidKey>
updateByKeyPath通过keyPath更新数据(data: any) => Promise<IDBValidKey>
updateListByKeyPath通过keyPath更新多条数据(data: any) => Promise<unknown>
getByKey通过key获取数据(key: string) => Promise<any>
getAll获取存储全部数据() => Promise<any[]>
getQuery通过查询条件获取数据(isLike默认为true)<T = any>(query: Query<T>) => Promise<any[]>
ts
export interface Query<T = any> {
  // 返回字段
  values?: Record<string, any>
  // 过滤条件
  filter?: (v: T) => boolean
  // 是否模糊匹配
  isLike?: boolean
}