Можно ли искать хранилище объектов indexedDb с помощью «привязанного» ключа к нескольким клавишам. При следующих данных:Javascript IndexedDb: поиск диапазона значений с использованием нескольких ключей
let simpleA = {
id: 'A',
bottomX: 2.5,
bottomY: 5.5,
topX: 3.5,
topY: 6.5
};
let simpleB = {
id: 'B',
bottomX: 4.2,
bottomY: 4.2,
topX: 4.8,
topY: 4.8
};
let simpleC = {
id: 'C',
bottomX: 8.5,
bottomY: 6.5,
topX: 9.5,
topY: 7.5
};
Я попытался создать индекс на несколько ключей:
simpleStore.createIndex('bottomX bottomY topX topY', ['bottomX', 'bottomY', 'topX', 'topY']);
и ключевой диапазон, как это:
let keyRange = IDBKeyRange.bound(
[0,5,0,0],
[10,6,10,10]
);
а затем создать курсор:
let mycursor = index.openCursor(keyRange);
Я был надеясь, что это даст мне результат simpleA
и simpleB
, но не simpleC
, так как свойство bottomY не находится в диапазоне. Однако, когда я тестировал этот код, я понял, что только первый ключ индекса - это тесты с ключом bound
.
Есть ли другой способ достичь этого диапазона поиска по нескольким клавишам?
Для Infos, я получил вдохновение множественного индекса с этого поста: Javascript: Searching indexeddb using multiple indexes