IndexedDB getAll()排序

icl*_*126 3 firefox-addon google-chrome-extension indexeddb opera-extension

我正在使用getAll()方法从db获取所有项目。

db.transaction('history', 'readonly').objectStore('history').getAll().onsuccess = ...
Run Code Online (Sandbox Code Playgroud)

ObjectStore的定义为:

db.createObjectStore('history', { keyPath: 'id', autoIncrement: true });
Run Code Online (Sandbox Code Playgroud)

我可以指望得到的物品的订购吗?他们会始终按主键排序id吗?
(或者有没有一种方法可以明确地指定排序?)

我在官方文档中找不到有关订购的任何信息

the*_*472 6

如果文档没有帮助,请参考规格:

  1. getAll指“检索多个参考值的步骤”
  2. 检索步骤请参阅“ 索引中的第一个计数记录”
  3. 索引的规范包含以下段落:

    索引中的记录始终根据记录的键进行排序。但是,与对象存储不同,给定索引可以包含具有相同键的多个记录。此类记录还根据索引记录的值(表示引用对象存储中记录的键)进行排序。

向后阅读:对索引进行排序。getAll检索索引的前N个,即它是顺序保留的。因此,结果本身应保留排序顺序。