Как обратиться к многопольному индексу в indexedDB - PullRequest
0 голосов
/ 17 марта 2020

Я создал индекс по двум полям, объединенным в indexedDB, следующим образом:

objectStore.createIndex(["B", "E"], ["B", "E"], {unique:false});

IndexedDB и ключ выглядят хорошо, когда я их просматриваю в инструментах разработчика Chrome.

проблема позже, когда я готов сделать транзакцию, я не уверен, как ссылаться на этот индекс. Консоль отображает его имя как «B, E», но это приводит к ошибке:

var index = objectStore.index("B,E");

возвращает:

Uncaught TypeError: Cannot read property 'index' of undefined at IDBOpenDBRequest.openRequest.onsuccess

1 Ответ

1 голос
/ 17 марта 2020

Первый аргумент createIndex - это простая строка, которая дает имя индексу, к которому вы затем можете обратиться. Второй аргумент - это путь к ключу.

Попробуйте createIndex('myBEIndex', ['B', 'E'], ...) создать его с именем, а затем используйте store.index('myBEIndex') для ссылки на него по имени.

...