Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 广告合作
  • 赞助一下
  • 关于我们
资源推荐
扣子Coze
职场AI,就用扣子
硅云优惠券
领先的基础云计算服务提供商,PHP云虚拟主机第一品牌
AI提示词商城
AI提示词交易与管理平台,提升效率
茅茅虫
茅茅虫AI论文写作助手,AIGC论文查重
豆包AI
字节跳动旗下 AI 智能助手
宝塔服务器面板
简单好用的服务器运维面板
即梦AI
一站式智能创作平台,即刻造梦
堆友AI
零门槛,多风格AI绘画免费生成,电商海报设计神器
fly63工具箱
简单、易用、便捷的在线工具
腾讯云优惠券
云服务器,云数据库,CDN,域名注册等多种云计算服务

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
网站收录 / 问题反馈

Dexie.js

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

网站地址:https://dexie.org/
GitHub:https://github.com/dexie/Dexie.js
网站描述:前端大容量存储IndexedDB库
访问官网
GitHub

Dexie.js 是 indexedDB 的包装库。dexie的操作方法,功能上和sql差不多,不过似乎没有多表关联的功能。 


indexedDB的缺点

由于原生 indexedDB 具有几下缺点:

  • 原生所有操作都是在回调中进行的
  • 原生所有操作都需要不断地创建事务,判断表和索引的存在性
  • 原生为表建立索引很繁琐
  • 原生查询支持的较为简单,复杂的查询需要自己去实现
  • 原生不支持批量操作
  • 原生的错误需要在每个失败回调中接收处理

基于以上原因,出现了Dexie.js库。


Dexie.js的优势

Dexie.js解决了原生 IndexedDB api 的三个主要问题:

  1. 不明确的错误处理
  2. 糟糕的查询
  3. 代码复杂度

Dexie 提供了一个简洁的数据库 API,具有经过深思熟虑的 API 设计、强大的错误处理、可扩展性、更改跟踪感知和扩展的 KeyRange 支持(不区分大小写的搜索、设置匹配和 OR 操作)。


初始化

新建一个名为 MyDatabase的库,如果已经存在,就会连接上

var db = new Dexie("database");

创建1张friends表,使用id作为主键,name,age,tags作为索引,只需要声明索引就ok了,这点与sql不同。
&代表id是独一无二的 和sql的unique类似,*代表tags可以是数组 支持多项索引。

db.version(1).stores({    
friends: "&id, name, age, *tags"
});


增、改

推荐使用put添加,而不是add。

在friends这张表中修改(如果主键id==233的项不存在,就会添加)。

db.friends.put({
id:1,
name:"fly63",
})


查

获取主键 即id为1的项

db.friends.get(1).then(res=>console.log(res))


删

删除主键 即id为1的项

db.friends.delete(1)


where条件

如果传入数组或者字符串,返回一个WhereClause类

db.friedns.where("name")

如果传入对象,返回一个Collection2类

db.friends.where({name:"fly63"})

WhereClause类可以通过类方法 获得Collection类

WhereClause.above(num) //大于num

Collection类,可以通过

Collection.each(res=>console.log(res))

遍历查询结果,还要更多方法。


仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/3955

更多»
热门资源
swiper
目前应用较广泛的移动端网页触摸内容滑动js插件
官网
GitHub
layer
layer是一款口碑极佳的web弹层组件
点击进入
GitHub
iScroll.js
IScroll是移动页面上被使用的一款仿系统滚动插件。
官网
GitHub
wangEditor
基于javascript和css开发的 Web富文本编辑器
官网
GitHub
ueditor
由百度web前端研发部开发所见即所得富文本web编辑器
官网
GitHub
highlight
Highlight.js 是一个用 JavaScript 写的代码高亮插件,在客户端和服务端都能工作。
官网
GitHub
UglifyJS
一个js 解释器、最小化器、压缩器、美化器工具集
官网
GitHub
lozad.js
高性能,轻量级,可配置的懒加载图片工具
官网
GitHub
Sortable.js
简单灵活的 JavaScript 拖放排序插件
官网
GitHub
validate.js
表单提供了强大的验证功能,让客户端表单验证变得更简单
官网
GitHub
Draggin.js
一款兼容移动手机的js拖拽插件
官网
GitHub
lazysizes.js
响应式图像延迟加载JS插件【懒加载】
官网
GitHub
类似于Dexie.js的资源
yall.js
一个非常小的图片懒加载器
点击进入
GitHub
ngDialog
一个基于AngularJS的扩展对话框模块
官网
GitHub
galleria
JavaScript图片库
官网
GitHub
ParticleEffectsButtons
一款js点击按钮动画粒子特效
官网
GitHub
smoothscroll.js
一款纯js页面平滑滚动插件
官网
GitHub
BigPicture.js
一款轻量级的图片和视频查看器js插件
官网
GitHub
jStorage
一个简单的键/值数据库,用于在浏览器端存储数据
点击进入
GitHub
autodialog.js
一个轻量、框架无关的弹窗系统
点击进入
GitHub
目录

手机扫一扫预览

》
分享组件加载中...
首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架 实用工具箱 广告合作 关于我们

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。