1. 開発者向けのウェブ技術
  2. Web API
  3. IDBCursorWithValue

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

IDBCursorWithValue

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

IndexedDB APIIDBCursorWithValue インターフェイスは、データベース内の複数のレコードを走査・反復するのに用いるカーソルを表します。value プロパティがある以外は、IDBCursor と同じです。

カーソルは、反復対象のインデックスまたはオブジェクトストアを表す反復元を持ちます。さらに、範囲内での位置を持ち、レコードキーの順番の昇順もしくは降順に動きます。カーソルにより、アプリケーションはカーソルの範囲の全レコードを非同期で処理できます。

同時に保持できるカーソルの数は無制限です。あるカーソルを表すとき、常に同じ IDBCursorWithValue オブジェクトを取得できます。操作は対象のインデックスまたはオブジェクトストアで行われます。

メモ: この機能はウェブワーカー内で利用可能です。

IDBCursor IDBCursorWithValue

インスタンスメソッド

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

インスタンスプロパティ

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

IDBCursorWithValue.value 読取専用

現在のカーソルの値を返します。

この例では、トランザクションを作成し、オブジェクトストアを取得し、カーソルを用いてオブジェクトストア内の全レコードを走査します。カーソルを用いる場合、キーでデータを選択する必要は無く、単に全部を取得できます。また、ループ中のそれぞれの繰り返しにおいて、カーソルオブジェクトが指している現在のレコードのデータを cursor.value.foo で取得できます。動く例全体は、IDBCursor example を参照してください。(動く例を見る)

js
function displayData() {
 const transaction = db.transaction(["rushAlbumList"], "readonly");
 const objectStore = transaction.objectStore("rushAlbumList");
 objectStore.openCursor().onsuccess = (event) => {
 const cursor = event.target.result;
 if (cursor) {
 const listItem = document.createElement("li");
 listItem.textContent = `${cursor.value.albumTitle}, ${cursor.value.year}`;
 list.appendChild(listItem);
 cursor.continue();
 } else {
 console.log("全エントリーを表示しました。");
 }
 };
}

仕様書

仕様書
Indexed Database API 3.0
# idbcursorwithvalue

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /