问题标签 [dexie]

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 投票
1 回答
3910 浏览

javascript - IndexedDB - Dexie JS:动态创建商店

我正在使用 indexedDB 进行本地数据存储,使用 Dexie.js 作为包装器非常好,特别是因为高级查询。实际上,我想通过脚本创建多个数据存储,这看起来很复杂。

要创建新商店,您可以执行以下操作:

如果我执行 Doctors = "Hospital" 之类的操作,它仍然会创建名称为 "Doctors" 的商店。

有没有办法做到这一点?

有人遇到过同样的问题吗?

0 投票
1 回答
1338 浏览

javascript - 刚刚通过 Dexie.js 打开 indexedDB 后如何获取表?

我需要检查某个表在打开后是否已经存在于 IndexedDB 中。但我不知道如何在“then”语句中获取 DexieDB 对象。

所以this.db在“then”语句中不存在。如何得到它?

0 投票
1 回答
1679 浏览

javascript - Dexie.js 没有执行 .add 事务

我有一个使用上面的代码预先创建的 indexedDB 数据库,然后在应用程序的另一个视图上,我需要向表中添加一行。

我尝试使用.transaction但仍然相同。如果我尝试使用 Chrome 的控制台,我会收到一个错误:无法读取未定义的属性添加

0 投票
1 回答
860 浏览

jquery - 将索引数据库表行转换为 jquery 中的 JSON 数组

我有索引数据库表中的值列表。我只想转换成 JSON 数组。我的索引数据库表结构如下所示。

在此处输入图像描述

我正在为索引数据库使用 dexie 框架。

如果我打印re_data它会显示如下:

我在 JSON ARRAY 中所需的输出需要如下所示,

或者我可以使用 dexie 框架本身来做到这一点吗?

0 投票
2 回答
3552 浏览

javascript - 如何使用 dexie.js 添加新条目

使用 Dexie 我正在尝试添加一个新条目,但如果我指定了 ID 号,我只能添加它。我希望 id 作为主键自动递增,我该如何实现?

这有效

但是,如果我从插入对象中取出 id,它就不起作用。见下文

这不起作用

有任何想法吗?

0 投票
3 回答
1806 浏览

javascript - IndexedDB and large amount of inserts on Angular app

I'm struggling with amounts of 20-50k JSON object response from server which I should insert into our indexeddb datastore.

Response is repeated with foreach and every single row is added with each. Calls with response less than 10k rows are working fine and inserted within a minute or so. But when the amounts get larger, the database goes unresponsive after a while and returns this error message

"db Error err=transaction aborted for unknown reason"

I'm using a Dexie wrapper for the database and an angular wrapper for dexie called ngDexie.

Do I have the wrong approach with dealing with the whole data in one chunk? Could there be better alternatives? This whole procedure is only done once when the user opens up the site. All help is greatly appreciated. The target device is tablets running Android with Chrome.

0 投票
1 回答
1570 浏览

php - 实时同步 MySql 和 IndexedDB

我的数据库(树系统)中有一个父子关系表,每个孩子都有一个父母,每个父母都有一些孩子。

我的后端是 PHP,我的数据库是 MySql,我得到表(类别)的所有行,然后将它们全部插入 indexedDB。并且使用它是如此简单和良好。

一切正常,除了同步!想象一下,我有一些用户,他们都在同时编辑一行。我通过每次刷新 (F5) 获取所有表行并将其添加到 indexedDB 我的意思是当用户获取页面时所有行都是新的,但是当用户编辑一行并且其他用户也在编辑时,他们看不到更改其他用户制作。

PHP与MySql和dexie.js如何实时同步?

0 投票
1 回答
527 浏览

javascript - 来自 Firefox 插件的内容脚本不会写入 IndexedDB

我正在开发 Firefox 插件,它有一些内容脚本可以将数据保存到 IndexedDB。相同的代码在 Chrome 扩展程序中工作得很好,但在 Firefox 扩展程序中却不行。在 Firefox 上,一切正常,直到必须将数据写入数据库的部分。

index.js

content-script.js //在 Firefox 中不起作用的部分

我也检查了Storage Inspector,没有任何内容添加到数据库中。更多细节:我认为这个问题可能是由脚本加载引起的,因为我在 content-script.js 的开头定义了在 DOM 准备好时加载所有内容(也许,但我不确定是否是由这个引起的,我试过“ contentScriptWhen参数中的 start" 、 "ready" 和 "end" )。

content-script.js中的所有内容都在此事件侦听器中。

0 投票
1 回答
3413 浏览

javascript - DexieJS (indexedDB) 链接多个 .where 子句

我正在使用DexieJS从 IndexedDB 中获取数据。我已经使用 v. 1.1.0 和 1.2.0 完成了以下测试。

它非常适合简单的查询,但不幸的是我无法链接多个 where 子句。

首先,我试过这个

那是有效的。然后,我需要添加一个 where 子句,但前提是设置了给定值:

这个失败了。出于测试目的,我也尝试过:

这些都不起作用。我开始觉得这根本不可能,但既然有方法and(),那就一定有办法!

PS这有效:

0 投票
1 回答
1892 浏览

dexie - Dexie.js - 使用多个索引进行排序

我正在使用 dexie.js 与 IndexedDB 交互。我想知道是否可以一次使用多个索引进行排序或排序(例如 db.people.orderBy( index1, desc : index2, asc )...如果可能,正确的语法是什么?