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 # ref-for-idbcursorwithvalue② |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
- 使用 IndexedDB
- 启动事务:
IDBDatabase
- 使用事务:
IDBTransaction
- 设置键范围:
IDBKeyRange
- 检索和更改数据:
IDBObjectStore
- 使用游标:
IDBCursor
- 参考示例:待办事项通知 (查看示例).