# indexdb **Repository Path**: zherc/indexdb ## Basic Information - **Project Name**: indexdb - **Description**: 操作indexdb封装 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2018-04-26 - **Last Updated**: 2021-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 文档懒得写,更详细API查看源码 目录:src/ts/ ### indexDB ``` import Driver from 'ndriver'; const driver = new Driver('demo', version?); driver.on("process", function (state) { console.log(state) }) driver.open().then(function () { var arrPlayers = [] for(let i=0; i<100; i++) { arrPlayers.push({ name: `韩梅梅${i}`, sex: `女${i}` }) } driver.createTable({ name: 'player', primaryKey: 'id', autoIncrement: true, indexes: [ {name: 'name_index', column: 'name', unique: true}, ], data : arrPlayers }) }) ``` ### API #### constructor(name, version?) name: 数据库名字 version: 数据库版本 默认1 eg: var driver = new Driver('database') ### open 打开数据库连接 返回promise对象 在resolve中可以创建表或者删除表 driver.open().then(() => { driver.createTable({ name: 'table', primaryKey: 'key', indexes: [ {name: 'name_index', column: 'key', unique: true}, ], }) }) #### Driver.prototype.insert(table, data) table: 表名 data: 需要插入的数据 obj or array eg: driver.insert({key: 'key', name: '', ...}) #### Driver.prototype.select(table, keyRange?, limit?) table: 表名 keyRange: KeyRange 包含多种比较操作 limit: 取出记录数 eg: driver.select('table', keyRange.eq('key'), 1).then(rs => console.log(rs)) #### Driver.prototype.selectByKey(table, key) table:表名 key: 主键 eg: driver.selectByKey('key').then(rs => console.log(rs)) #### Driver.prototype. count (table, keyRange?) 根据条件统计记录数 table: 表名 keyRange: @see select eg: driver.count('table').then(size => console.log(size)) #### Driver.prototype. update (table, modify, where?) 数据更新,如果数据不存在则新增 table: 表名 modify: 修改的对象 where:条件 eg: driver.update('table', {name: 'xxxx'}, {key: 'key'}) #### Driver.prototype.delete (table, key) table: 表名 key: 主键 根据主键删除 eg: driver.delete('table', 'key') #### Driver.prototype.truncate(table) 清空某张表 table:表名 ### 示例 ``` const driver = new Driver('pallet', 1); driver.on("process", function (state) { console.log(state) }) driver.open().then(function () { var arrPlayers = [] for(let i=0; i<100; i++) { arrPlayers.push({ name: `韩梅梅${i}`, sex: `女${i}` }) } driver.createTable({ name: 'player', primaryKey: 'id', autoIncrement: true, indexes: [ {name: 'name_index', column: 'name', unique: true}, ], data : arrPlayers }) }) ```