IDBCursorWithValue

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Note: This feature is available in Web Workers.

Giao diện IDBCursorWithValue của IndexedDB API đại diện cho một con trỏ để duyệt hoặc lặp qua nhiều bản ghi trong cơ sở dữ liệu. Nó giống với IDBCursor, ngoại trừ việc nó bao gồm thuộc tính value.

Con trỏ có một nguồn cho biết nó đang lặp qua index hoặc object store nào. Nó có một vị trí trong phạm vi và di chuyển theo hướng tăng dần hoặc giảm dần theo thứ tự của các khóa bản ghi. Con trỏ cho phép ứng dụng xử lý tất cả các bản ghi trong phạm vi của con trỏ một cách bất đồng bộ.

Bạn có thể có số lượng con trỏ không giới hạn cùng một lúc. Bạn luôn lấy cùng một đối tượng IDBCursorWithValue đại diện cho một con trỏ nhất định. Các thao tác được thực hiện trên index hoặc object store bên dưới.

IDBCursor IDBCursorWithValue

Phương thức phiên bản

Kế thừa các phương thức từ giao diện cha, IDBCursor.

Thuộc tính phiên bản

Kế thừa các thuộc tính từ giao diện cha, IDBCursor.

IDBCursorWithValue.value Read only

Trả về giá trị của con trỏ hiện tại.

Ví dụ

Trong ví dụ này, chúng ta tạo một giao dịch, lấy một object store, sau đó sử dụng con trỏ để lặp qua tất cả các bản ghi trong object store. Con trỏ không yêu cầu chúng ta chọn dữ liệu dựa trên khóa; chúng ta có thể lấy tất cả. Cũng lưu ý rằng trong mỗi lần lặp, bạn có thể lấy dữ liệu từ bản ghi hiện tại dưới đối tượng con trỏ bằng cách dùng cursor.value.foo. Để có ví dụ hoạt động đầy đủ, xem ví dụ IDBCursor (xem ví dụ trực tiếp.)

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.");
    }
  };
}

Thông số kỹ thuật

Thông số kỹ thuật
Indexed Database API 3.0
# idbcursorwithvalue

Tương thích trình duyệt

Xem thêm