IDBObjectStore: метод getAll()
Базовая версия Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна в браузерах с сентября 2021 года.
Метод getAll() интерфейса IDBObjectStore возвращает объект IDBRequest, содержащий все объекты в объекте хранилища, соответствующие указанному параметру, или все объекты в хранилище, если параметры не указаны.
Если значение успешно найдено, то его структурная копия создается и устанавливается в качестве результата объекта запроса.
Этот метод дает одинаковый результат для:
- записи, которая не существует в базе данных
- записи, которая имеет неопределенное значение
Чтобы отличить эти ситуации, необходимо вызвать
- метод
openCursor()с тем же ключом. Этот метод предоставляет курсор, если запись существует, и не предоставляет курсор, если ее нет. - метод
count()с тем же ключом, который вернет 1, если строка существует, и 0, если ее нет.
Синтаксис
getAll() getAll(query) getAll(query, count)
Параметры
queryНеобязательно-
Ключ или
IDBKeyRangeдля запроса. Если ничего не передано, по умолчанию используется диапазон ключей, который выбирает все записи в этом объекте хранилища. countНеобязательно-
Указывает количество возвращаемых значений, если найдено более одного. Если оно меньше
0или больше2^32 - 1, будет выброшено исключениеTypeError.
Возвращаемое значение
Объект IDBRequest, на котором впоследствии будут вызваны события, связанные с этой операцией.
Если операция выполнена успешно, значение свойства запроса result является массивом Array значений всех записей, соответствующих заданному запросу, до значения count, если count был указан.
Исключения
Этот метод может вызывать исключение DOMException одного из следующих типов:
-
TransactionInactiveErrorDOMException -
Выбрасывается, если транзакция данного объекта
IDBObjectStoreнеактивна. -
DataErrorDOMException -
Выбрасывается, если предоставленный ключ или диапазон ключей содержат недопустимый ключ или являются null.
-
InvalidStateErrorDOMException -
Выбрасывается, если объект хранилища
IDBObjectStoreбыл удален. TypeError-
Выбрасывается, если параметр
countне находится в диапазоне от0до2^32 - 1включительно.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getAll |
48 | 79 | 44 | 35 | 10.1 | 48 | 48 | 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/IDBObjectStore/getAll