jquery的indexeddb简单使用

jquery的indexeddb使用

项目地址: github.com/axemclion/jquery-indexeddb/blob/gh-pages/docs/README.md

工具类
var MyDb = {
    DB_NAME : 'PaperData',
    DB_VERSION  : 3 , //使用正整数,别用浮点型
    initDb :function() {
        console.debug("initDb ...");
        var req = indexedDB.open(MyDb.DB_NAME,MyDb.DB_VERSION);
        req.onsuccess = function (evt) {
            db = evt.target.result;
            console.debug("initDb opened");
        };
        req.onerror = function (evt) {
            console.error("initDb error:", evt.target.errorCode || evt.target.error);
        };
        req.onupgradeneeded = function (evt) {
            db = evt.target.result;
            $(db.objectStoreNames).each(function (index,data) {
                db.deleteObjectStore(data)
            });
            var store= db.createObjectStore("questions",{
                "keyPath":"info"
            });
            store.createIndex('paperIndex','paper',{unique:false});
            //store.createIndex('nameIndex','name',{unique:false});
        };
    },
    getDB: function () {
        return  $.indexedDB(MyDb.DB_NAME,MyDb.DB_VERSION)
    }
};
//db的初始化
$(function () {
    MyDb.initDb();
    var db = MyDb.getDB();  //此时可以使用的db,这个db可以保存为全局变量
    
});
//保存到questions里面的信息,put表示没有就加入,有就更新
db.objectStore("questions").put({info:"paper_"+paper_info.paper_id+"_"+name,paper:paper_info.paper_id,name:name,value:value})
//普通查询,获取满足要求的key=1或key=2的记录的所有记录
db.objectStore("questions").each(function (data) {
    console.log(data)
},[1,2])
//根据paperIndex获取paper为100的值,也可以是范围[100,110](这个是根据索引获取,效率比较高)
db.objectStore("questions").index("paperIndex").each(function(data){
    console.log(data)
}, 100)

 

 

转载于:https://my.oschina.net/u/2528821/blog/827278

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值