浏览器端 数据库操作助手
npm i aomd-web-db
js
WebDBOption {
name?: string;
version?: number;
}
`
$3
`js
CreateObjectStoreOption {
keyPath?: string;
autoIncrement?: boolean;
}
`
$3
`js
ReturnEntity {
// 调用事件
eventName: string;
// 调用表
tableName: string;
// 调用参数
option: object;
// 取出的数据
entity: any;
}
`
example
---
`js
//@ts-check
import { WebDB } from '../src/WebDB'
var db = WebDB.getInstance({ name: 'hiwebpage', version: 1 })
// db.deleteDatabase('hiwebpage')
db.on('upgradeneeded', () => {
db.deleteObjectStore("test");
// 创建一个表
var objectStore = db.createObjectStore("test");
// 此处最好取一样名称
objectStore.createIndex("id", 'id')
console.log('upgradeneeded')
})
db.init().then(() => {
// 获取所有索引
db.getIndexNames('test')
// 根据下标进行创建 ro 更新
db.saveKey('test', { name: 'xj', id: 4399 }, '5')
db.saveKey('test', { name: 'xj2', id: 4399 }, '6')
db.saveKey('test', { name: 'xj3', id: 4399 }, '7')
db.saveKey('test', { name: 'xj4', id: '4399' }, '8')
db.saveKey('test', { name: 'xj5', id: '4399' }, '9')
// 更新 9 这个key
db.saveKey('test', { name: 'xj2', id: 'id999' }, '9')
// 自增长
// db.saveKey('test', { id: 'xj1' })
// 通过 key 获取单个
db.getByKey('test', '8').then((data) => {
console.error('getByKey', data.entity);
})
// 通过索引获取 一个 重复多个也取一个
db.getByIndexName('test', 'id', 4399).then((data) => {
console.error('getByIndexName', data.entity);
})
// 通过索引获取多个 limit可以筛选
db.getByIndexNameAll('test', 'id', 4399).then((data) => {
console.error('getByIndexNameAll', data.entity);
})
db.getByIndexNameAll('test', 'id', 4399, 1).then((data) => {
console.error('getByIndexNameAll:limit:1', data.entity);
})
// 模糊查询
db.fuzzySearch('test', 'name', 'x').then((data) => {
console.error('fuzzySearch', data.entity);
})
// 根据key删除
db.delByKey('test', '5').then((data) => {
console.error('delByKey', data.entity);
})
// 清理表
// db.clear('test')
})
``