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