无需登录 数据私有 本地保存

IndexedDB 模型设计器 - 可视化创建对象仓库与索引

18
0
0
0
对象仓库

暂无对象仓库

索引管理 请先选择左侧仓库

选择左侧仓库后管理其索引

结构预览
尚未创建对象仓库
生成代码
// 添加对象仓库后自动生成代码...
常见问题与知识点

IndexedDB 是浏览器内置的非关系型数据库,支持存储大量结构化数据(包括文件和二进制数据),支持索引查询和事务操作。相比 LocalStorage(通常限制 5-10MB,仅存储字符串),IndexedDB 存储空间更大(可达数百MB甚至更多),支持异步操作和复杂查询,是构建离线应用的首选方案。

对象仓库类似于关系数据库中的,是数据存储的基本单元。keyPath 指定对象中用作主键的属性名(支持复合主键如 firstName,lastName)。autoIncrement 启用后主键自动递增(类似自增ID)。两者可单独或同时使用:仅 keyPath 则手动指定主键值;仅 autoIncrement 则自动生成数字主键;两者结合则 keyPath 属性值自动递增生成。

索引用于加速查询,允许通过非主键字段快速检索数据。唯一索引 (unique: true) 确保索引键值在所有记录中唯一,适合邮箱、用户名等字段。多条目索引 (multiEntry: true) 适用于索引键路径指向数组的情况,数组中的每个元素都会作为独立索引条目,适合标签、分类等多值字段。合理设计索引可大幅提升查询性能,但过多索引会降低写入速度。

生成的代码可直接复制到您的 JavaScript 项目中使用。代码会在 onupgradeneeded 事件中创建所有对象仓库和索引。注意:修改数据库结构(增删仓库或索引)时需要递增版本号,否则 onupgradeneeded 不会触发。建议在开发阶段使用本工具设计好模型后,将生成的代码整合到项目中。

IndexedDB 得到所有现代浏览器的广泛支持:Chrome 24+、Firefox 16+、Safari 10+、Edge 12+,以及移动端 Chrome 和 Safari。对于 IE 浏览器需要 IE10+。总体覆盖超过 98% 的全球用户,是可靠的前端存储方案。在隐私模式下部分浏览器可能限制存储容量。