IndexedDB getAll()排序

时间:2017-01-31 23:08:34

标签: google-chrome-extension firefox-addon indexeddb opera-extension

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

db.transaction('history', 'readonly').objectStore('history').getAll().onsuccess = ...

我的ObjectStore定义为:

db.createObjectStore('history', { keyPath: 'id', autoIncrement: true });

我可以指望我收到的商品的订购吗?它们是否总是按主键id排序? (或者有没有明确指定排序的方法?)

我找不到有关官方docs

订购的任何信息

1 个答案:

答案 0 :(得分:5)

如果文档无效,请参阅规范:

  1. getAll指的是“检索多个引用值的步骤”
  2. the retrieval steps请参阅 index 中的“ count 记录”
  3. the specification of index包含以下段落:
      

    索引中的记录始终根据记录进行排序   键。但是,与对象存储不同,给定索引可以包含多个   具有相同密钥的记录。此类记录另外排序   根据索引的记录值(意味着记录的关键)   在引用的对象库中。)

  4. 向后阅读:索引已排序。 rugarch检索索引的前N个,即它是保持顺序的。因此,结果本身应保留排序顺序。