IDBCursor: thuộc tính direction

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.

Thuộc tính chỉ đọc direction của giao diện IDBCursor là một chuỗi trả về hướng duyệt của con trỏ (ví dụ được đặt bằng IDBObjectStore.openCursor). Xem phần Giá trị bên dưới để biết các giá trị có thể có.

Giá trị

Một chuỗi biểu thị hướng mà con trỏ đang duyệt dữ liệu. Các giá trị có thể là:

next

Con trỏ được mở ở đầu nguồn.

nextunique

Con trỏ được mở ở đầu nguồn. Với mỗi khóa có giá trị trùng, chỉ bản ghi gần đầu nguồn nhất được trả về.

prev

Con trỏ được mở ở cuối nguồn.

prevunique

Con trỏ được mở ở cuối nguồn. Với mỗi khóa có giá trị trùng, chỉ bản ghi gần đầu nguồn nhất được trả về.

Ví dụ

Trong đoạn ví dụ đơn giản này, chúng ta tạo một transaction, lấy một object store, rồi dùng một con trỏ để duyệt qua tất cả các bản ghi trong object store. Ở mỗi vòng lặp, chúng ta ghi hướng của con trỏ vào console.

Note: Chúng ta không thể thay đổi hướng di chuyển của con trỏ bằng thuộc tính direction, vì nó là chỉ đọc. Ta chỉ định hướng di chuyển bằng đối số thứ hai của IDBObjectStore.openCursor.

Con trỏ không yêu cầu chúng ta chọn dữ liệu theo khóa; chúng ta chỉ cần lấy toàn bộ dữ liệu. Lưu ý thêm rằng ở mỗi vòng 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 cursor.value.foo. Để xem ví dụ hoàn chỉnh, hãy xem ví dụ IDBCursor (xem bản chạy trực tiếp).

js
function backwards() {
  list.textContent = "";
  const transaction = db.transaction(["rushAlbumList"], "readonly");
  const objectStore = transaction.objectStore("rushAlbumList");

  objectStore.openCursor(null, "prev").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);

      console.log(cursor.direction);
      cursor.continue();
    } else {
      console.log("Entries displayed backwards.");
    }
  };
}

Thông số kỹ thuật

Specification
Indexed Database API 3.0
# ref-for-dom-idbcursor-direction①

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

Xem thêm