IDBИндекс: метод getAll()
Базовая версия Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна во всех браузерах с сентября 2021 года.
Метод getAll() интерфейса IDBIndex извлекает все объекты, которые находятся внутри индекса.
Обращение к свойству value курсора связано с затратами на производительность, поскольку объект создаётся лениво. Чтобы использовать такую функцию, как getAll(), браузеру нужно создать все объекты сразу. Если вас интересуют только ключи, например, лучше использовать курсор. Если вы пытаетесь получить массив всех объектов в хранилище объектов, используйте getAll().
Синтаксис
getAll() getAll(query) getAll(query, count)
Параметры
queryНеобязательно-
Ключ или
IDBKeyRange, определяющий записи для извлечения. Если это значение равно null или отсутствует, браузер использует неограниченный диапазон ключей. countНеобязательно-
Количество записей для возврата. Если это значение превышает количество записей в запросе, браузер извлечёт только запрошенные записи. Если оно меньше
0или больше2^32 - 1, будет выброшено исключениеTypeError.
Возвращаемое значение
Объект IDBRequest, на котором впоследствии сгенерируются события, связанные с этой операцией.
Если операция выполнена успешно, свойство result запроса содержит Array значений всех записей, соответствующих заданному запросу, до значения count, если count было предоставлено.
Исключения
Этот метод может вызывать DOMException следующих типов:
-
TransactionInactiveErrorDOMException -
Выбрасывается, если транзакция
IDBIndexнеактивна. -
InvalidStateErrorDOMException -
Выбрасывается, если
IDBIndexбыл удалён или удалён.
Исключение TypeError вызывается, если параметр count не находится в диапазоне от 0 до 2^32 - 1 включительно.
Примеры
const myIndex = objectStore.index("index");
const getAllRequest = myIndex.getAll();
getAllRequest.onsuccess = () => {
console.log(getAllRequest.result);
};
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getAll |
48 | 79 | 44 | 35 | 10.1 | 48 | 44 | 35 | 10.3 | 5.0 | 48 |
См. также
- Использование IndexedDB
- Начало транзакций:
IDBDatabase - Использование транзакций:
IDBTransaction - Установка диапазона ключей:
IDBKeyRange - Извлечение и изменение данных:
IDBObjectStore - Использование курсоров:
IDBCursor - Пример ссылки: Уведомления о задачах (Просмотр примера онлайн).
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex/getAll