基于IndexeDB强大但难用的特点,一个开发者友好的库 GoDB.js
安装
npm install godb
创建库连接,创建表
import GoDB from 'godb';
// 表约束数据结构 id会自动生成我们不需要定义
const tables = {
// 用户
user: {
name: {
type: String,
unique: true,// 唯一
},
age: Number,
},
// 商品
product: {
name: {
type: String,
unique: true,
},
spec: String
}
}
// 创建库和表
const db = new GoDB( 'testDB', tables );
添加数据
// 添加一条数据
db.table( 'user' ).add( { name: '小红', age: 22 } );
// 批量添加数据
db.table( 'product' ).addMany( [{ name: '鞋子', spec: '双' },{ name: '裤子', spec: '条' }] );
查询数据
// 通过id查询
await db.table( 'user' ).get( 1 ) //{"name": "小红","age": 22,"id": 1}
// 通过key值查询
await db.table( 'user' ).get( { name: '小红' } ) //{"name": "小红","age": 22,"id": 1}
//查询所有数据
await db.table( 'product' ).getAll() // [{"name":"鞋子","spec":"双","id":1},{"name":"裤子","spec":"条","id":2}]
修改数据
// 需要先查询才能修改
const data = await db.table( 'user' ).get( 1 );
//修改
data.name = 'XiaoHong';
//更新修改数据
db.table( 'user' ).put( data );
删除数据
//通过id删除
db.table( 'product' ).delete( 1 )
// 通过key值删除
db.table( 'product' ).delete( { name:"XiaoHong" } )
结尾
使用IndexedDB
的使用会比较繁琐,Godb.js
库进行缓存,可以最大化的降低操作难度,如果你有更好方案可在评论区留言!