IDBCursor: thuộc tính primaryKey
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 primaryKey của giao diện IDBCursor trả về khóa hiệu lực hiện tại của con trỏ. Nếu con trỏ đang được di chuyển hoặc đã duyệt ra ngoài phạm vi, giá trị này được đặt là undefined. Khóa chính của con trỏ có thể là bất kỳ kiểu dữ liệu nào.
Giá trị
Một giá trị thuộc bất kỳ kiểu dữ liệu nào.
Ngoại lệ
InvalidStateErrorDOMException-
Được ném ra nếu con trỏ đang được di chuyển hoặc đã kết thúc.
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 các bản ghi trong object store. Ở mỗi vòng lặp, chúng ta ghi khóa chính của con trỏ vào console.
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).
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);
console.log(cursor.primaryKey);
cursor.continue();
} else {
console.log("Entries all displayed.");
}
};
}
Thông số kỹ thuật
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbcursor-primarykey①> |
Tương thích trình duyệt
Xem thêm
- Using IndexedDB
- Bắt đầu transaction:
IDBDatabase - Sử dụng transaction:
IDBTransaction - Thiết lập một phạm vi khóa:
IDBKeyRange - Truy xuất và thay đổi dữ liệu của bạn:
IDBObjectStore - Sử dụng con trỏ:
IDBCursor - Tham chiếu ví dụ: To-do Notifications (xem bản chạy trực tiếp).