Dexie的Table.orderBy for Uint32Array命令就好像它是Uint8Array一样

时间:2018-03-15 16:59:26

标签: indexeddb arraybuffer dexie

我的存储对象在Unix纪元以来有一个以秒为单位的时间戳。我希望能够将它存储为Uint32Array,然后通过时间戳检索它。

我使用Dexie的Table.orderBy来检索它。排序不正确,经过一些调查,我发现订单就好像你将Uint32Array转换为Uint8Array一样。

请参阅此小提琴示例,了解Uint32如何订购,而Uint8则订购:

https://fiddle.jshell.net/3tf5r0cu/708/

我做错了假设还是Dexie的缺陷还是IndexedDb的缺陷?

我在Chromium中使用Dexie 2.0.1。

1 个答案:

答案 0 :(得分:1)

实际上是根据indexedDB 2.0规范。所有二进制键(任何ArrayBufferView)均等排序(作为字节数组)。您可能应该使用数字或日期。