DOM

インターフェイス

IDBCursorWithValue インターフェイス

  編集:2022.04.06 by T.A.

MS(en-US)

IndexedDB API の IDBCursorWithValue インターフェイスは、データベース内の複数のレコードをトラバースまたは反復するためのカーソルを表します。IDBCursorと同じですが、ただし、valueプロパティが含まれています。

カーソルには、反復しているインデックスまたはオブジェクト ストアを示すソースがあります。範囲内の位置にあり、そして、レコードキーの順序で増加または減少する方向に移動します。カーソルを使用すると、アプリケーションはカーソルの範囲内のすべてのレコードを非同期的に処理できます。

同時に無制限の数のカーソルを持つことができます。特定のカーソルを表す同じ IDBCursorWithValue オブジェクトを常に取得します。操作は、基になるインデックスまたはオブジェクト ストアで実行されます。

注: この機能は Web Workers で使用できます

プロパティ

親インターフェイスである IDBCursor からプロパティを継承します。

IDBCursorWithValue.value 読取専用
現在のカーソルの値を返します。
メソッド

親インターフェースである IDBCursor からメソッドを継承します。

この例では、トランザクションを作成します。オブジェクトストアを取得し、次に、カーソルを使用して、オブジェクト ストア内のすべてのレコードを反復処理します。カーソルは、キーに基づいてデータを選択する必要はありません。すべてをつかむことができます。また、ループの各反復で、cursor.value.foo を使用してカーソル オブジェクトの下の現在のレコードからデータを取得できることにも注意してください。完全な実例については、IDBCursorの例 を参照してください(例をライブで表示します)。
function displayData() {
  var transaction = db.transaction(['rushAlbumList'], "readonly");
  var objectStore = transaction.objectStore('rushAlbumList');

  objectStore.openCursor().onsuccess = function(event) {
    var cursor = event.target.result;
    if(cursor) {
      var listItem = document.createElement('li');
      listItem.innerHTML = cursor.value.albumTitle + ', ' + cursor.value.year;
      list.appendChild(listItem);

      cursor.continue();
    } else {
      console.log('Entries all displayed.');
    }
  };
};

テスト
HTML:

ここに表示
スクリプト組み込み:



スクリプト:


スクリプト:



表示内容:
表示内容: