IDBObjectStore: метод getKey()
Базовая Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна в браузерах с сентября 2021 года.
Примечание: Эта функция доступна в Потоках Web Workers.
Метод getKey() интерфейса IDBObjectStore возвращает объект IDBRequest, и в отдельном потоке возвращает ключ, выбранный заданным запросом. Это используется для извлечения конкретных записей из хранилища объектов.
Если ключ успешно найден, то его структурированная копия создаётся и устанавливается в качестве результата объекта запроса.
Синтаксис
getKey(key)
Параметры
key-
Ключ или диапазон ключей, определяющий запись для извлечения.
Возвращаемое значение
Объект IDBRequest, на котором впоследствии будут срабатывать события, связанные с этой операцией.
Если операция успешна, значение свойства result запроса — это ключ для первой записи, соответствующей заданному ключу или диапазону ключей.
Исключения
Этот метод может вызвать исключение DOMException одного из следующих типов:
-
InvalidStateErrorDOMException -
Выбрасывается, если хранилище объектов
IDBObjectStoreбыло удалено или удалено. -
TransactionInactiveErrorDOMException -
Выбрасывается, если транзакция хранилища объектов
IDBObjectStoreнеактивна. -
DataErrorDOMException -
Выбрасывается, если предоставленный ключ или диапазон ключей содержит недействительный ключ.
Пример
let openRequest = indexedDB.open("telemetry");
openRequest.onsuccess = (event) => {
let db = event.target.result;
let store = db.transaction("net-logs").objectStore("net-logs");
let today = new Date();
let yesterday = new Date(today);
yesterday.setDate(today.getDate() - 1);
let request = store.getKey(IDBKeyRange(yesterday, today));
request.onsuccess = (event) => {
let when = event.target.result;
alert(`The 1st activity in last 24 hours was occurred at ${when}`);
};
};
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getKey |
48 | 79 | 51 | 45 | 10.1 | 48 | 58 | 43 | 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/getKey