问题标签 [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.
node.js - 使用电子初始化的服务器使用 Dexie 访问索引数据库的解决方案
我们正在使用 electron 和 react 构建一个桌面应用程序。
我们需要将应用程序的内容存储在电子应用程序的索引数据库中。内容被存储为类似于网页的客户端应用程序。
我们的设计包含一个服务器,它允许来自安装在不同 IP 地址的其他应用程序的连接。连接到服务器的客户端将数据发送到服务器并将数据存储在其本地索引存储中。应允许所有连接的客户端访问此存储的数据。
sorting - Dexie 表排序
我无法对 dexie 表进行排序。
我可能只是不理解 dexie 表与 dexie 集合之间的简单概念差异。所以我很抱歉问了一个简单的问题。
我有这段代码可以正常工作:
我想要做的是用这段代码替换第 2 行,但它不起作用:
所以我的目标只是对 .where 查询的结果进行降序排序。如果上面的代码可以修改,那就太好了。如果我做错了并且有更好的方法,那也很好。
谢谢大家,弗兰克
javascript - Dexie:如何添加到嵌套对象中的数组
我正在使用 Dexie IndexedDB 包装器,并且正在尝试将对象添加到嵌套对象内的现有数组中。结构如下所示
我尝试了很多方法来将对象 special3:'run' 推送到 Skill.third 但没有成功。我的最后一次尝试看起来像这样
该对象被添加到数组“第三”的外部而不是内部,如下所示
我想知道是否有办法使用 Dexie 添加到嵌套对象中的数组,如果没有,是否有办法使用 indexeddb 来实现这一点。感谢您的帮助,因为问题阻碍了进展
where - Dexie:where 子句 - 无法使用包含标准的普通对象
我一直在通过 dexie 文档和堆栈搜索,但我找不到任何相关内容。我是dexie的新人,我的工作日结束了,可能是我没有正确理解的东西(ー_ー)!
这样它的工作原理:
但是这种方式行不通,为什么呢?
错误消息:Uncaught TypeError: DB.t_menus_ptg.where(...).toArray is not a function
reactjs - 将 redux 与本地数据库一起使用
我有一个离线 React Web 应用程序,其中所有数据都本地存储在 indexedDB 中。除了静态资产的文件托管之外,没有其他服务器。我已经到了现在开始考虑使用 redux 的地步,但我试图了解将更多数据移动到存储和继续依赖数据库之间的权衡。将本地数据库与 redux 一起使用的惯用方式是什么?
目前我的应用程序由几个容器组件组成,每个容器组件都从componentWillMount
. 集成 redux 的一种选择是保持基本相同,唯一的区别是状态保存在存储中,数据是使用操作和 thunk 获取的。
或者,我看到很多示例代码在启动时将所有数据加载到存储中。这使得整个应用程序更具确定性,更易于测试和重现。主要组件之间的切换会立即发生(以初始应用程序加载为代价)。但是我失去了数据库提供的好处,比如索引和漂亮的查询。
从字面上看,将整个数据库加载到存储中似乎是不合理的,至少在我的情况下,这将是大约 10MB 的数据,也许更多。所以我总是至少有一些组件需要在挂载时继续获取它们的数据。但是有一个数据子集是应用程序的核心,可以说应该完整地加载表(这可能是大约 5,000 到 10,000 个对象)。
使用本地存储和 redux 的惯用方式是什么?componentWillMount
我觉得如果可以避免异步获取,则它不是惯用的。即使在状态小到可以完全加载到存储中的情况下,是否值得放弃良好高效的查询接口的好处?
编辑:我应该提一下:我正在使用Dexie,这是一个非常非常棒的用于处理 indexedDB 的库。它速度快,有一个很好的查询界面,处理迁移等......我真的很想继续使用 Dexie,除非有非常充分的理由不这样做。
作为参考,这里是Dexie 的 github 上关于这个主题的讨论。一般的外卖形式是“视情况而定”。不是我一直在寻找的答案,所以如果可能的话,我希望能获得更多的见解。
dexie - 从变量传递 Dexie 集合
我有这个代码(Indexeddb/Dexie)
这很好用,但我有许多带有“限制”的集合,我必须对其执行搜索。如果我这样做:
它崩溃了:
这一系列限制类型可以根据其他查询从几个到几十个,所以我必须将 Dexie 查询放在一个循环中,我不能简单地一个接一个地编写它们......
一些建议?
先谢谢了,高清
javascript - 定义偏移量和限制时,在 Dexie 中查询不返回任何内容
德克西菜鸟在这里。我正在尝试使用 Dexie.js 从 IndexedDB 中获取一些数据。我想批量获取数据(想想分页),似乎只有第一个查询有效。
这是数据:
这是查询#1:
查询 #2 返回一个空[]
:
limit(2)
如果我从查询 #2 中遗漏,则查询按预期工作,但offset()
并limit()
在一起似乎不起作用。
我在这里做错了什么?我可能只是错过了 Dexie 或 IndexedDB 如何工作的一些非常基本的东西,但有人可以帮助我吗?
这是一个 JSFiddle来测试它。
dexie - 如何使用 DexieJS 进行 UNION 操作?
我有一个indexedDB
withfirstName
和lastName
as 列。
以下是一些示例数据:
当我搜索时Doe
,查询应该返回前两个条目和最后一个。如果我搜索Jacob
,它应该返回倒数第二个。
我遵循了这个Dexie示例中的示例,但我不能同时对两个字段进行一次搜索。如果没有,有没有办法运行两个问题并将结果联合到一个问题中?
javascript - Dexie函数搜索后返回项目
我有一个简单的 Dexie 表搜索功能,我想在实际运行搜索代码后返回搜索到的项目
所以我知道上面代码中的“返回”在错误的位置,函数知道它应该被返回。但是如果我把它放在正确的位置,它会在 table.where 有机会运行之前得到返回,因此返回未定义。
有没有办法让这个订单正确完成?
谢谢,弗兰克
javascript - 将 IndexedDB 与 Kendo 网格一起使用
我正在开发一个应该可以在线工作的应用程序。我使用 IndexedDB 作为本地存储。但我的问题是我正在处理一个剑道网格,并且它是从具有 API 的服务器上的数据库中调用的。我想知道如何获取剑道网格数据,以便可以将其本地保存在 IndexedDB 中。这就是我现在正在使用的。我实际上正在使用 dexie.js 库。