美文网首页
基于Dexie操作indexDB数据库

基于Dexie操作indexDB数据库

作者: Prince_0716 | 来源:发表于2022-02-07 15:00 被阅读0次

什么是Dexie?

这是官网的一句话翻译过来就是IndexedDB 的一个最小化包装(A Minimalistic Wrapper for IndexedDB)

Dexie使用本机IndexedDB API解决了三个主要问题:

模棱两可的错误处理
不好查询
代码复杂性
有使用过indexDB的同学就知道其查询语句的麻烦特别是多条件查询的时候
这是Dexie的官网https://dexie.org/

安装及使用

1.安装

模块化开发下可以使用npm/cnpm/yarn安装

npm install dexie

2.使用

简单的例子

//模块化开发下需要引入该组件
import Dexie from 'dexie'
//创建一个数据库 若数据库已存在则为打开 
//打开数据库时,会判断当前version值是否大于已经存在的version值,若大于则会upgrade即升到最高版本
var db = new Dexie("test_db");

db.version(1).stores({
     student: 'name,age'
 });
 db.open()
//写入一些数据
db.student.put({name: "小明", age: 18}).then (function(){
    //当数据存储完成后 我们可以读取它
    return db.student.get('小明');
}).then(function (data) {
    console.log("我是小明,今年 " + data.age);
}).catch(function(error) {
   //最后别忘了抓住任何可能发生在上面的代码块。
   console.log("error: " + error);
   db.close()
});
db.close()

API

1.创建数据库

//注意:不要像在SQL中那样声明所有列。只声明要索引的属性,即要在where(…)查询中使用的属性。
var db = new Dexie("MyDatabase");
db.version(1).stores({
    friends: "++id, name, age, *tags",
    gameSessions: "id, score"
});

2.语法

++ 自动递增主键
& 唯一主键

  • 多条目索引
  • 复合索引

相关文章

网友评论

      本文标题:基于Dexie操作indexDB数据库

      本文链接:https://www.haomeiwen.com/subject/rhvukrtx.html