问题标签 [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 回答
1698 浏览

angular - Dexie & Angular 4:选择项目时性能下降

我在使用 Angular 4 应用程序中的 Dexie 从我的 IndexedDB 查询选择项目(1.000 到 4.000 之间)时遇到问题。

表中最多只有 20.000 个项目,但选择这些项目需要几秒钟(Chrome 61 上为 5 秒,iOS 10 和 iOS 11 上最多(甚至更多)20 秒)

下面是我的服务,它获取两个不同的表并通过返回 ObservableloadItems()

生成的 Observable 使用 ngrx 效果进行异步处理,该效果分派一个将数据写入状态的 Action,因此组件可以呈现信息。

我尝试通过https://github.com/raphnesse/dexie-batch以块的形式“延迟加载”这些项目,但生成的批次需要 500 多毫秒才能到达。

我在哪里可能存在性能瓶颈?我已经尝试在 Angular 的区域之外运行此查询,但这并没有产生和性能改进。

0 投票
3 回答
3531 浏览

dexie - Dexie.js - table.delete(id) 不适用于每行删除

我刚从 Dexie 开始,我似乎陷入了困境。

我有一个小型数据库(少于 1000 行),一旦我知道该行已发送到远程 API,我就会尝试逐一删除每一行。我还可以成功保存到表中(由 ID 和存储序列化对象的列定义)

这是我的代码:

除了最后的 delete 语句之外,所有这一切。关于我应该如何解决这个问题的任何想法?对我来说重要的是逐行删除。

提前致谢!

0 投票
1 回答
67 浏览

javascript - 替换多列中多行中的值,为每列提供一个映射对象

在下表中,我需要使用以下对象替换名称和类列中的值

决赛桌应如下所示:

在 dexie.js 中实现这一目标的有效方法是什么?

0 投票
1 回答
108 浏览

javascript - Dexie.js 查询错误

以下查询引发错误:

如何以正确的方式重写查询?

0 投票
2 回答
150 浏览

angular - DEXIE - A function whose decl ared type is neither 'void' nor 'any' must return a value

I'm trying to implement a function that check if a price is in a range.

The data are located in the IndexedDB and I'm using Dexie to work with it.

In this moment I can't compile my soluzion

I don't know what is the properly way to work with dexie...

I just have to check some fields in a row of a DexieTable, nothing hard and return an Observable...

Thanks to support

0 投票
1 回答
1037 浏览

indexeddb - 在 dexie 和 indexeddb 中将新表添加到 daynamically

我定义了一个没有任何问题的集合,如下所示:

但是当我通过以下两种方式将新表添加到“db”数据库时,两者都失败并且不会发生更改。

或者

0 投票
2 回答
654 浏览

angular - Dexie - ToArray() **Type 'Promise[]>' is not assignable to type '[]'.**

The Requirement is to return two simple arrays from the localdb.

The function is:

The error message I get is:

Type 'Promise' is not assignable to type 'Tipo[]'

I think that is because the ToArray() function returns a promise.

Actually what I need is, to compose the res object with the two arrays but I don't know how to combine the two promise toArray() methods

Any solution to this?

0 投票
1 回答
67 浏览

javascript - 将第二个查询的结果添加到第一个查询的答案

我的问题是,至少有一个 then() 函数没有等待前一个函数结束。

代码被缩短但大致如下:

如果我在最后将 objCheck 打印到控制台,我会看到措施已填写。但在 ajax() 调用中,它不会一起发送。所以在我看来,最后一个 then() 在倒数第二个完成之前运行。

从我的角度来看,这似乎是一个误解。有人能告诉我我的逻辑有什么问题吗?

0 投票
1 回答
1456 浏览

indexeddb - IndexedDB - 存储大量数据的正确方法

我必须实现一个使用 LocalDB 来管理离线订单创建的 Web 应用程序。

在这一刻,我正在使用 Dexie for Angular2/Typescript 实现 LocalDB。

我要做的是实现一个数据库以便能够管理:

  • 客户(+1000 条记录)
  • 产品(+2000 条记录)
  • 产品
  • 每个客户定义的价格 +(100.000 条记录)
  • 订单(少量数据)

ETC...

它必须管理大量数据,因为产品、客户和价格是很多或记录......

我的问题是:

如果我必须使用 SQL SERVER 或 MySql 等通用关系数据库来实现这个数据库,那么当我编写临时订单时,我会存储 idMaterial 和数量......

但是我必须在 IndexedDB 中做什么?

最好使用 idMaterial/Qty 存储临时订单,例如 mySql/SqlServer,并通过执行 INNER JOIN 检索产品信息(在需要时),或者最好将产品/价格的所有信息存储在本地表中,以避免INNER JOIN 查询?

我可以在连接超过 2000 多个产品和每个客户定义的 100.000 个产品价格的表之间运行 INNER JOIN 吗?

感谢支持!

0 投票
2 回答
1923 浏览

angular - Dexie - 检查记录是否存在,如果不存在则初始化它

我在 Angular2 项目中实现 Dexie 2.0。

我有一个简单的表,它应该只包含一个用于订单命名的记录。

如果表有记录,我要做的是检查 IndexedDb,如果没有,则初始化它......非常简单。

这是代码:

在这一刻,表是空的,如果我运行脚本,我会在初始化记录的行命令上得到“这是未定义的”......

我必须改变什么?

感谢支持