问题标签 [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 投票
0 回答
760 浏览

javascript - 即使在 Electron 中重新启动计算机后仍保留 IndexedDB

我正在尝试在通过 Electron 运行的 Angular 2 应用程序中使用 Dexie/indexedDB,我创建的数据库 + 插入的数据在我重新启动应用程序后仍然存在,但是如果我重新启动计算机,那么所有数据都会被删除。

有没有办法将数据保存在磁盘上,以便即使在计算机重新启动后也可以使用?

如何获取 indexedDb 的副本并使用 NodeJS 将其保存在文件中,然后重新加载?可能吗?

0 投票
2 回答
2176 浏览

javascript - Dexie:两个日期之间的事件

我正在使用 Dexie(IndexedDb 的库)。我正在通过API来查看是否有一种方法可以在两个日期之间选择事件,并且我看到有.between()一种使用这种方式的方法:

在所有与数字一起使用的示例中,有人尝试将它与日期一起使用吗?我需要使用特定的日期格式吗?

0 投票
1 回答
995 浏览

javascript - Dexie:bulkPut 和 BulkAdd 的区别

我检查了文档,但使用 bulkPut 和 bulkAdd 似乎没有区别。

然而我注意到,当我尝试将 bulkAdd 与事件列表一起使用时,包括我之前删除的事件列表,它不会添加此事件。如果我使用 bulkPut 它会添加事件。

我想更好地了解这两种方法之间的区别。

谢谢

0 投票
1 回答
1530 浏览

indexeddb - Dexie -- TypeError: 无法设置 undefined(...) 的属性“onerror”

我在我的离线应用程序中使用 Dexie,当我尝试在我的 Indexeddb 数据库中插入新数据时,我收到此错误:TypeError: Cannot set property 'onerror' of undefined(…)

这是似乎引发错误的代码:

这是我创建数据库的地方:

由于我正在添加表并且我不想创建多个版本的数据库,因此我执行了以下操作来清理数据库:

然后我删除DB.delete()并重新加载。我告诉你这是为了以防这不是好的做法,并且可能会损害我的数据库状态。

谢谢

0 投票
1 回答
1985 浏览

javascript - 将 Reactjs 与 Dexie.js 一起使用?

我试图弄清楚如何将反应状态设置为数据库的值。我正在使用Dexie.js

fridge功能有效,因为它将适当的项目放置在数据库中。代码中唯一不起作用的部分是this.setState({century:samba.race}). 这会导致Cannot read property 'setState' of undefined.

我将如何重新setState从我的数据库中获取数据?

0 投票
1 回答
83 浏览

javascript - Dexie:SubTransactionError

在 Dexie 中运行事务时出现此错误:

这仅在我运行此代码后发生:

DeleteApiToken 函数看起来像这样。

然后,Render 函数会导致应用程序重新渲染并运行更多事务,但它们都会抛出前面提到的错误。如果没有调用 DeleteApiToken,它们不会。

如果您可以看到我的代码出现错误,那就太好了,否则只需简单解释一下为什么会抛出 SubTransactionError 就足够了。谢谢!

0 投票
1 回答
486 浏览

javascript - 使用 React 和 Dexie 分配唯一的密钥 ID?

下面的代码缺少正确的 key 道具。我在这个例子中使用Dexie.js

基本上,我有一个带有++id. 现在,我想确保我的 var newFriend 自动增加它,但我不确定如何正确指定它。它旨在用于li key={result.id}.

产生的错误是child keys must be unique; when two children share a key, only the first child will be used.

我想设置var newFriend为自动增加我的 ID。

不要介意评论标签。他们对我以前的一个问题很感兴趣。

我已将它添加到 JSFiddle。 https://jsfiddle.net/7xet1nv0/1/

0 投票
1 回答
813 浏览

javascript - 在组件安装上反应查询数据库?

在这个例子中,我将 React 与Dexie.js一起使用。我有一个代码 zanzibar,它在运行时会将我的 IndexDB 中的对象列表添加到页面中。我有两件当前的事情要补充。

首先,查找我的数据库的 ID 似乎存在问题。例如,当我console.log(amigo.id)在我的 peaches 函数下运行时,它返回undefined. 我也没有在我的 indexDB 面板上看到 ID。

其次,现在我可以通过点击功能运行它,我还想通过componentDidMount. 这样做的目的是在页面加载时将我的 indexDB 上的所有内容加载到我的页面。我的peaches功能应该做到这一点,但我不太确定如何完成。

包含在 JSFiddle https://jsfiddle.net/jgwhxuam/

0 投票
1 回答
586 浏览

javascript - Reactjs 从 Dexie.js 中删除一个项目

此示例使用 Reactjs 和Dexie.js。我有一个没有 D 的 CRUD 应用程序,这是我目前需要的。虽然您可以将新项目输入并存储到数据库中,但我不确定如何选择已添加的每个项目并删除它们。我知道您必须通过他们的 ID 选择他们。

使用 i 标签,我附上了一个.onClick={this.removal}. 但是,我不确定要向该removal功能添加什么。

我已将我的代码包含在 JSFiddle 中

https://jsfiddle.net/5uevnock/

0 投票
1 回答
1314 浏览

angular - 如何在 Angular2 中集成 DexieJs

当我尝试运行与 Dexie 相关的代码时出现此错误。

仅仅通过声明一个数据库,我已经有了上述错误。

我添加 Dexie 的约定方式是在 systemjs.config.js 中(在我的情况下,我使用了 Typescipt)

编辑 我的 src 代码可以在这里找到

已编辑

只是要清楚。我不是说这是 dexie 的图书馆问题。可能是我没有以正确的方式实施。因此,寻找在 angular2 中正确实现 dexie 的指南。

已编辑

我找到了这个链接,但是添加以下代码的解决方案对我不起作用

(解决方法)

不是什么,我几乎不能让它工作是通过脚本标签添加dexie <script src="vendor/dexie/dist/dexie.min.js"></script> ,然后我可以直接使用dexie。

但问题是我无法导入 dexie 并且 dexie 的所有类型都丢失了。

我尝试手动复制 dexie.d.ts 并引用它,但打字稿不承认,所以我会有编译错误。