我的存储对象在Unix纪元以来有一个以秒为单位的时间戳。我希望能够将它存储为Uint32Array,然后通过时间戳检索它。
我使用Dexie的Table.orderBy来检索它。排序不正确,经过一些调查,我发现订单就好像你将Uint32Array转换为Uint8Array一样。
请参阅此小提琴示例,了解Uint32如何订购,而Uint8则订购:
https://fiddle.jshell.net/3tf5r0cu/708/
我做错了假设还是Dexie的缺陷还是IndexedDb的缺陷?
我在Chromium中使用Dexie 2.0.1。
答案 0 :(得分:1)
实际上是根据indexedDB 2.0规范。所有二进制键(任何ArrayBufferView)均等排序(作为字节数组)。您可能应该使用数字或日期。