问题标签 [indexeddb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
38232 浏览

javascript - 使用多个条件查询

我最近(遗憾地)发现 HTML5 不再支持 WebSQL,而 IndexedDB 将取而代之。

我想知道是否有任何方法可以查询或搜索 IndexedDB 的条目,其方式类似于我如何使用 SQL 搜索满足多个条件的条目。

我已经看到我可以使用 KeyRange 的一个条件来搜索 IndexedDB。但是,如果不从数据库中获取所有数据并使用 for 循环,我似乎找不到任何方法来搜索两列或多列数据。

我知道这是一个几乎没有在浏览器中实现的新功能,但我有一个正在启动的项目,我正在研究我可以做到的不同方法。

谢谢!

0 投票
4 回答
4993 浏览

javascript - IndexedDB 和关系

我可以在 IndexedDB 中的对象存储之间创建关系吗?

例如,我有两个对象存储:artistalbum. Anartist与 具有一对多的关系albumalbum.artistId将专辑与artist.id.

我在这里按照 Hibernate 的思路思考。我想对艺术家进行查询,并将属于该艺术家的专辑作为artistsalbum对象上调用的数组返回。

跟进(4.5 年后,2017 年)

下面有一些很好的答案很好地回答了这个问题。我想补充一点,我最初试图将 IndexedDB 用作关系存储并在其之上构建类似 ORM 的解决方案,但它不适合。IndexedDB 是一个 NoSQL 数据库,自从我开始以这种方式处理它以来,它更有意义,并且我的项目更易于管理。我希望这对于那些不断遇到它的人来说,为原来的问题增加了一些价值。

0 投票
2 回答
137 浏览

javascript - 如何触发取决于 2 个(或更多)条件的 JS 事件

我正在使用IndexedDBWeb SQLWeb Storage在客户端上存储一些数据(或者在客户端不支持任何存储的情况下回退到 AJAX)。当页面加载时,我想显示来自商店的一些数据。但是当 DOM 准备好时我无法显示数据,因为商店可能还没有准备好,当商店准备好时我无法显示数据,因为 DOM 可能还没有准备好。

显然,我可以实现一些条件来检查 dom 和 store 设置的标志,或者我可以使用超时,但这似乎很草率(如果需要满足两个以上的条件,则无法很好地扩展)。是否有一种普遍“好”的方法来处理这种情况?我更喜欢跨浏览器的解决方案(例如watch不起作用)。

情况示例:

注意:我现在接受了自己的答案,但仍然愿意接受更好的处理方式。

0 投票
5 回答
5239 浏览

javascript - 使用 .csv 文件数据填充 IndexedDB

如何使用 csv 文件填充 IndexedDB?我在网上的任何地方都找不到非常简单的指南。

这是我要使用的 csv 文件之一的示例,它们都非常像:http ://www.mediafire.com/?hlx2tpacw5dqat5

第一列(向下第 2 行)是时间戳(MS Excel),第 2 列(向下第 2 行)是读数量,所有其他列都是温度读数。上面的 900 表示读数之间的时间间隔(以秒为单位)。一行中的最终读数为空,应从读数数量中忽略(或取走)。因此,行中的第一个读数是在行时间戳减去(900 秒乘以(行中的读数数减一))时进行的。对于第一行的第一个值,该值取自 (40271.0625-(0.00024*900*(1024-1)))。

我想要的是两列,可以这么说,在我的 IndexedDB 中。一个用于读数时间(显然这些将是唯一的),另一个用于温度。有任何想法吗?任何帮助将不胜感激!

谢谢

0 投票
1 回答
1564 浏览

html - HTML5 客户端存储:WebSqlDatabase 与 WebStorage 与索引数据库

我对 HTML5 中客户端存储的能力有一些疑问。到目前为止,我发现有三种不同的可能性:

  • WebSQLDatabase:支持存储在 SQLite 数据库中的客户端站点 SQL 表。本标准废止。这是否意味着当前支持此功能的浏览器将来会放弃此支持?

  • WebStorage和 IndexedDB 似乎与我非常相似。它们都提供键/值存储功能。区别在哪里?

0 投票
3 回答
384 浏览

java - 如何在 GWT 中从 javascript 到 java 获取返回类型'any'?(泛型类型传递)

我正在开发一个 GWT 项目以实现对 GWT 的 indexeddb 支持。我想知道如何将“any”类型的值从 java 传递给 javascript(反之亦然)?例如,这个 javascript 方法来自ObjectStore 规范

IDBRequest add(在任何值中,在可选的任何键中)引发(IDBDatabaseException,DOMException);

(基本上该方法的作用是向数据库添加一对键和值。因此,键和值可以是任何对象,这解释了为什么它们的类型是 any)

我尝试在 Java 中使用泛型类型将 java 值传递给变量值和键,但它似乎不起作用。如果您能提供示例代码,那就太好了:)

0 投票
3 回答
9236 浏览

javascript - IndexedDB 模糊搜索

好的,首先,对不起我的英语。

我正在一个 Web 项目中工作,当我在输入框中输入内容时会显示建议,但我想使用 IndexedDB 来提高 Firefox 中的查询速度。

使用 WebSQL 我有这句话:

我想用 IndexedDB 做同样的事情,我有这个代码:

但是太慢了,我的代码有问题。我想知道有没有更好的方法来做到这一点。

谢谢回复。

0 投票
2 回答
1577 浏览

javascript - 为什么他们使用保留关键字“继续”来命名 IndexedDB 游标对象中的函数?

根据http://www.w3.org/TR/IndexedDB/#widl-IDBCursor-continue,IDBCursor 对象具有名为“继续”和“删除”的方法。那些不是保留关键字吗?他们为什么要在规范中使用这些名称?

我的 javascript 编译器不断警告我保留关键字,它真的很烦人。

0 投票
1 回答
194 浏览

javascript - Google Chrome 中的 IndexedDB 事务常量

规格:

检查webkitIDBTransaction.__ proto __谷歌浏览器的控制台:

我想知道谷歌浏览器是否在这里错误地实现了 indexeddb 规范?

0 投票
3 回答
1769 浏览

javascript - 为什么他们在 javascript 中使用命名空间?

我看到他们在使用 indexeddb 的一些示例中使用命名空间:http: //www.html5rocks.com/en/tutorials/indexeddb/todo/http://greenido.wordpress.com/2011/06/24/how-使用-indexdb-code-and-example/

这样做有什么真正的好处吗?它只是为了组织相关的对象吗?