IDBCursorWithValue
注意:此功能在 Web Workers 中可用。
IDBCursorWithValue 介面是 IndexedDB API 的一部分,用於表示用於遍歷或迭代資料庫中多個記錄的 遊標。它與 IDBCursor 相同,只是增加了一個 value 屬性。
遊標有一個源,指示它正在迭代哪個索引或物件儲存。它在範圍內的位置,並以記錄鍵遞增或遞減的方向移動。遊標允許應用程式非同步處理遊標範圍內的所有記錄。
您可以同時擁有無限數量的遊標。對於給定的遊標,您始終獲得相同的 IDBCursorWithValue 物件。操作是在底層索引或物件儲存上執行的。
例項方法
繼承自其父介面 IDBCursor 的方法。
例項屬性
繼承自其父介面 IDBCursor 的屬性。
IDBCursorWithValue.value只讀-
返回當前遊標的值。
示例
在此示例中,我們建立一個事務,檢索一個物件儲存,然後使用遊標遍歷物件儲存中的所有記錄。遊標不需要我們根據鍵來選擇資料;我們可以獲取所有資料。另請注意,在迴圈的每次迭代中,您都可以使用 cursor.value.foo 從遊標物件下的當前記錄中獲取資料。有關完整的可執行示例,請參閱我們的 IDBCursor 示例(即時檢視示例)。
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("Entries all displayed.");
}
};
}
規範
| 規範 |
|---|
| Indexed Database API 3.0 # idbcursorwithvalue |
瀏覽器相容性
載入中…
另見
- 使用 IndexedDB
- 開始事務:
IDBDatabase - 使用事務:
IDBTransaction - 設定鍵的範圍:
IDBKeyRange - 檢索和修改資料:
IDBObjectStore - 使用遊標:
IDBCursor - 參考示例:待辦事項通知(檢視即時示例)。