IDBKeyRange.only()

IDBKeyRange インターフェイスの only() メソッドは、単一の値からなる新しいキーの範囲を生成します。

注: この機能は Web Worker 内で利用可能です

構文

only(value)

引数

value

新しいキーの範囲として用いる値です。

返値

新しく生成されたキーの範囲を表す IDBKeyRange です。

例外

DataError DOMException

引数 value が有効なキーでないとき投げられます。

以下の例では、単一の値からなるキーの範囲の使用法を示します。keyRangeValue = IDBKeyRange.only("A"); と宣言します。これは、値 "A" のみを含む範囲です。(IDBTransaction により) トランザクションを開き、オブジェクトストアを開き、省略可能なキーの範囲の値を keyRangeValue として IDBObjectStore.openCursor (en-US) でトランザクションを開きます。これにより、このカーソルはキーの値が "A" であるレコードのみを取得します。

メモ: キーの範囲に関する実験ができるより完全な例は、IDBKeyRange レポジトリを参照してください。(動く例も見る)

function displayData() {
  const keyRangeValue = IDBKeyRange.only("A");

  const transaction = db.transaction(['fThings'], 'readonly');
  const objectStore = transaction.objectStore('fThings');

  objectStore.openCursor(keyRangeValue).onsuccess = (event) => {
    const cursor = event.target.result;
      if (cursor) {
        const listItem = document.createElement('li');
        listItem.textContent = `${cursor.value.fThing}, ${cursor.value.fRating}`;
        list.appendChild(listItem);

        cursor.continue();
      } else {
        console.log('全エントリーを表示しました。');
      }
    };
  };

仕様書

Specification
Indexed Database API 3.0
# ref-for-dom-idbkeyrange-only①

ブラウザーの互換性

BCD tables only load in the browser

関連情報