Spec-Zone.ru › Web APIs

IDBObjectStore: метод openKeyCursor()

Базовая Широко поддерживается

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2021 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Метод openKeyCursor() интерфейса IDBObjectStore возвращает объект IDBRequest, результат которого будет установлен на объект IDBCursor, который можно использовать для итерации по результатам поиска. Используется для итерации по ключам хранилища объектов с помощью курсора.

Чтобы определить, успешно ли выполнена операция добавления, прослушивайте событие success результата.

Синтаксис

openKeyCursor()
openKeyCursor(query)
openKeyCursor(query, direction)

Параметры

query Необязательно

Диапазон ключей для поиска. Если передан один допустимый ключ, он будет по умолчанию соответствовать диапазону, содержащему только этот ключ. Если ничего не передано, по умолчанию будет диапазон ключей, выбирающий все записи в этом хранилище объектов.

direction Необязательно

Строка, указывающая курсору направление движения. По умолчанию next. Допустимые значения:

next

Курсор открывается в начале хранилища; затем курсор возвращает все записи, включая дубликаты, в порядке возрастания ключей.

nextunique

Курсор открывается в начале хранилища; затем курсор возвращает все уникальные записи в порядке возрастания ключей.

prev

Курсор открывается в конце хранилища; затем курсор возвращает все записи, включая дубликаты, в порядке убывания ключей.

prevunique

Курсор открывается в конце хранилища; затем курсор возвращает все уникальные записи в порядке убывания ключей.

Возвращаемое значение

Объект IDBRequest, на котором впоследствии генерируются события, связанные с этой операцией.

Если операция выполнена успешно, значение свойства result запроса будет:

  • объект IDBCursor, указывающий на первую запись, соответствующую заданному запросу
  • null если соответствующих записей не найдено.

Исключения

Этот метод может вызвать DOMException одного из следующих типов:

InvalidStateError DOMException

Выбрасывается, если это хранилище IDBObjectStore или индекс IDBIndex было удалено.

TransactionInactiveError DOMException

Выбрасывается, если транзакция этого хранилища IDBObjectStore неактивна.

DataError DOMException

Выбрасывается, если указанный ключ или диапазон ключей некорректны.

Примеры

В этом простом фрагменте мы создаем транзакцию, извлекаем хранилище объектов, а затем используем курсор для итерации по всем записям в хранилище объектов:

const transaction = db.transaction("name", "readonly");
const objectStore = transaction.objectStore("name");
const request = objectStore.openKeyCursor();
request.onsuccess = (event) => {
  const cursor = event.target.result;
  if (cursor) {
    // cursor.key contains the key of the current record being iterated through
    // note that there is no cursor.value, unlike for openCursor
    // this is where you'd do something with the result
    cursor.continue();
  } else {
    // no more results
  }
};

Спецификации

Спецификация
Indexed Database API 3.0
# ref-for-dom-idbobjectstore-openkeycursor①

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
openKeyCursor 23 79 44 15 10.1 25 44 14 10.3 1.5 4.4

См. также

  • Использование 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/openKeyCursor

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API