Как в IndexedDB сделать запрос с фильтрацией и сортировкой одновременно?

Допустим есть таблица news_thread c ключём thread_id
var objectStore = db.createObjectStore('news_thread', {keyPath: 'thread_id', autoIncrement : true});


Храним в ней данные вида
{
source_id: 2
pubdate_unixtime: 1553019926568
title: 'The Definitive Guide to DateTime Manipulation'
}


Хотелось бы получать данные по условию WHERE source_id=2 ORDER BY pubdate_unixtime

Пока дотумкал до одного варианта, сделать индекс вида
objectStore.createIndex("source_id+pubdate_unixtime", ['source_id', 'pubdate_unixtime']);


и потом делать запрос так
objectStore.openCursor( IDBKeyRange.bound([2], [2.1]) )


Но как-то это убого, нет ли нормального способа?
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ni55aN
@Ni55aN
Почему бы просто не использовать Dexie.js?
После примеров из туториалов как-то не понял цену этой сложности и неудобности при работе с IndexedDB, и просто использовал Dexie . Возможно, эта обертка дает какой-то оверхед по производительности, но с ней явно проще
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 11:08
5000 руб./за проект
19 апр. 2024, в 10:59
150000 руб./за проект
19 апр. 2024, в 10:02
6000 руб./за проект