Я новичок в IndexedDb, я использую его в приложении Windows 8. Я пытаюсь сортировать результаты запроса более чем одним индексом. Другими словами, у меня есть хранилище объектов с объектами, все из которых имеют свойства даты и фамилии. Я хочу сортировать сначала по дате, потом по фамилии. Есть ли способ сделать это с помощью IndexedDB? Или мне придется сортировать результаты запроса с помощью JavaScript?indexeddb сортировать по нескольким индексам
ответ
В IndexedDB, композитный индекс (array keyPath) используется для такого множественного сортировки следующим образом:
objectStore.createIndex('date, last', ['date', 'last']);
К сожалению, IE10 не поддерживает композитный индекс.
Поскольку IE10 не поддерживает массивные ключевые пути для индексов, вам придется самому делать фильтр. Если вы хотите свернуть его вручную, я бы сосредоточился на создании индекса на том, что будет вашим самым большим ключом (таким как тот, который будет иметь самые разные значения), и IDB сделает запрос против этого, а затем напишет свой собственный фильтр против остальные предметы внутри метода onsuccess
вашего курсора.
В качестве альтернативы вы можете посмотреть стороннюю оболочку IDB, чтобы сделать это, db.js имеет свободный API запросов, который позволяет комбинировать индексные запросы с пользовательской фильтрацией обратного вызова (see here).
Как вы видите в других ответах, IE 10 (и поэтому приложения для Windows 8) не поддерживает массив KeyPaths. Это означает, что вы можете использовать только один индекс для сортировки данных с помощью API напрямую.
Вы можете попробовать мою библиотеку linq2indexeddb, она предоставляет LINQ как интерфейс для запроса данных. Он также поддерживает несколько типов. Для него также есть окна 8 nuget package.
- 1. Поиск по нескольким индексам
- 2. Сортировка по нескольким индексам
- 3. F # сортировать по индексам
- 4. Поиск массива по нескольким индексам
- 5. elasticsearch скоринг по нескольким индексам
- 6. Azure Поиск по нескольким индексам
- 7. ElasticSearch pagination по нескольким индексам
- 8. Сравните ранжирование запроса Алголии по нескольким индексам
- 9. Цитирование по нескольким индексам в Python
- 10. Панель инструментов Kibana по нескольким индексам
- 11. Сортировка списка по нескольким индексам и весам
- 12. Lucene - сравнение данных по нескольким индексам
- 13. Фильтрация по нескольким индексам с использованием ElasticSearch
- 14. Сортировка ArrayList из Int [] по нескольким индексам
- 15. Поиск по нескольким индексам в ElasticSearch (Tire)
- 16. Сортировать список по индексам другого списка?
- 17. Ruby сортировать по нескольким значениям?
- 18. Crystal: Сортировать по нескольким группам
- 19. Knockout.js: Сортировать по нескольким клавишам
- 20. Elasticsearch сортировать по нескольким запросам
- 21. Сортировать результаты по нескольким столбцам?
- 22. MongoDB сортировать по нескольким полям
- 23. YouTrack сортировать по нескольким полям
- 24. SphinxQL Сортировать по нескольким полям
- 25. Elasticsearch получает несколько документов по uids по нескольким индексам
- 26. Перечисление индекса Lucene по ID по нескольким индексам
- 27. «Векторный итератор не увеличивается», заполнение вектора по нескольким индексам.
- 28. Elasticsearch - поиск по нескольким индексам с условной функцией распада
- 29. ruby on rails: ElasticSearch/динамический поиск шин по нескольким индексам
- 30. Elasticsearch (клиент NEST) - поиск по нескольким индексам с использованием OIS