我正在使用getAll()
方法从数据库中获取所有项目。
db.transaction('history', 'readonly').objectStore('history').getAll().onsuccess = ...
我的ObjectStore
定义为:
db.createObjectStore('history', { keyPath: 'id', autoIncrement: true });
我可以指望我得到的物品的订购吗?它们将始终按主键id
排序吗?
(或者有没有办法显式指定排序?
我在官方文档中找不到有关订购的任何信息
如果文档没有帮助,请查阅规格:
- getAll 是指"检索多个引用值的步骤"
- 检索步骤是指"索引中的第一个计数记录"
-
索引规范包含以下段落:
索引中的记录始终根据记录的 .key。但是,与对象存储不同,给定的索引可以包含多个 具有相同键的记录。此类记录会额外排序 根据索引的记录值(即记录的键) 在引用的对象存储中)。
向后读取:对索引进行排序。 getAll
检索索引的前 N,即它是顺序保留的。因此,结果本身应保留排序顺序。