Может кто-нибудь сказать мне, если возможно выполнить поиск без учета регистра в хранилище объектов indexeddb, используя index, openCursor и keyRange ....
Я могу сделать регистр с учетом и сумел реализовать что-то с помощью функции toUpperCase, но естьтак много разных вариаций, что это неосуществимо по-настоящему ...
Любая помощь приветствуется ... Спасибо ... Пример попытки:
var transaction = db.transaction("products", IDBTransaction.READ_ONLY);
var store = transaction.objectStore("products");
var descIndex = store.index('Index1');
var boundKeyRangeUpper = IDBKeyRange.bound(request.term.toUpperCase(), (request.term.toUpperCase()+'Z'));
descIndex.openCursor(boundKeyRangeUpper).onsuccess = function (e)
ОБНОВЛЕНИЕ
Это то, что я в конечном итоге реализовал: четыре диапазона, которые охватывают и возможные, т.е. FA, fA, Fa, fa ... Это делается только по первой букве, т.е. 'F'
var boundKeyRangeUpper = IDBKeyRange.bound(term.toUpperCase(), term.toUpperCase()+'Z');
var boundKeyRangeUpper2 = IDBKeyRange.bound(term.toUpperCase(), term.toUpperCase()+'z');
var boundKeyRangeLower = IDBKeyRange.bound(term.toLowerCase(), term.toLowerCase()+'z');
var boundKeyRangeLower2 = IDBKeyRange.bound(term.toLowerCase(), term.toLowerCase()+'Z');
Результаты поиска выше сохранены в другом объектном хранилище, но их описание в верхнем регистре, следовательно, FISH, FRUIT, FRESH SALAD ... Теперь, если после F нажимается буква, например, 'r', поиск будет искать этот новый объектмагазин, где все в верхнем регистре ... Это далеко не идеальное решение, но оно работает и быстро для моих нужд ... Возможно, мы в конечном итоге получим нечувствительный к регистру поиск, peрапс нет ...