Windows 8 indexeddb按多个索引排序

Windows 8 indexeddb按多个索引排序,windows-8,indexeddb,Windows 8,Indexeddb,我是IndexedDb的新手,我正在Windows 8应用程序中使用它。我正在尝试按多个索引对查询结果进行排序。换句话说,我有一个对象存储,其中的对象都具有日期和姓氏属性。我想先按日期排序,然后按姓氏排序。有没有办法用IndexedDB实现这一点?或者我必须使用JavaScript对查询结果进行排序吗?在indexeddb中,复合索引()用于以下多重排序: objectStore.createIndex('date, last', ['date', 'last']); 不幸的是,IE10不支持

我是IndexedDb的新手,我正在Windows 8应用程序中使用它。我正在尝试按多个索引对查询结果进行排序。换句话说,我有一个对象存储,其中的对象都具有日期和姓氏属性。我想先按日期排序,然后按姓氏排序。有没有办法用IndexedDB实现这一点?或者我必须使用JavaScript对查询结果进行排序吗?

在indexeddb中,复合索引()用于以下多重排序:

objectStore.createIndex('date, last', ['date', 'last']);

不幸的是,IE10不支持复合索引。

因为IE10不支持索引的数组键路径,所以您必须自己进行筛选。如果你想手动滚动它,我会专注于创建一个索引,它将是你最大的键(因此,它将具有最不同的值),让IDB对其进行查询,然后针对光标移动的
onsuccess
方法中的其余项编写你自己的过滤器


或者,您也可以通过第三方IDB包装来实现,它有一个流畅的查询API,允许您将索引查询与自定义回调筛选()结合起来。

正如您在其他答案中看到的,IE 10(以及windows 8应用程序)不支持数组键路径。这意味着您只能使用一个索引直接使用API对数据进行排序

你可以试试我的库,它提供了一个类似LINQ的接口来查询数据。它还支持多重排序。它还有一个Windows8