IDBObjectStore: phương thức getAllRecords()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Phương thức getAllRecords() của giao diện IDBObjectStore truy xuất tất cả bản ghi (bao gồm khóa chính và giá trị) từ object store.
getAllRecords() kết hợp hiệu quả chức năng của getAllKeys() và getAll() bằng cách liệt kê đồng thời cả khóa chính và giá trị. Thao tác kết hợp này cho phép một số mẫu truy xuất dữ liệu đạt tốc độ nhanh hơn đáng kể so với các phương án thay thế như lặp bằng con trỏ.
Cú pháp
getAllRecords()
getAllRecords(options)
Tham số
Một đối tượng options có các thuộc tính có thể bao gồm:
queryOptional-
Một khóa hoặc một
IDBKeyRangexác định các bản ghi cần truy xuất. Nếu giá trị này lànullhoặc không được chỉ định, trình duyệt sẽ sử dụng một phạm vi khóa không giới hạn. countOptional-
Số lượng bản ghi cần trả về. Nếu giá trị này vượt quá số lượng bản ghi trong truy vấn, trình duyệt sẽ chỉ truy xuất các bản ghi đã truy vấn. Nếu giá trị nhỏ hơn
0hoặc lớn hơn2^32 - 1, một ngoại lệTypeErrorsẽ được ném. directionOptional-
Một giá trị liệt kê chỉ định hướng mà các bản ghi được duyệt qua, từ đó xác định thứ tự chúng được trả về. Các giá trị có thể là:
next-
Các bản ghi được duyệt từ đầu, theo thứ tự khóa tăng dần. Đây là giá trị mặc định.
nextunique-
Các bản ghi được duyệt từ đầu, theo thứ tự khóa tăng dần. Điều này sẽ tạo ra cùng các bản ghi như
next, vì các khóa trùng lặp không được phép trongIDBObjectStore. prev-
Các bản ghi được duyệt từ cuối, theo thứ tự khóa giảm dần.
prevunique-
Các bản ghi được duyệt từ cuối, theo thứ tự khóa giảm dần. Điều này sẽ tạo ra cùng các bản ghi như
prev, vì các khóa trùng lặp không được phép trongIDBObjectStore.
Giá trị trả về
Một đối tượng IDBRequest mà các sự kiện tiếp theo liên quan đến thao tác này sẽ được kích hoạt trên đó.
Nếu thao tác thành công, giá trị của thuộc tính result của request là một mảng các đối tượng đại diện cho tất cả bản ghi khớp với truy vấn đã cho, tối đa bằng số lượng được chỉ định bởi count (nếu được cung cấp).
Mỗi đối tượng chứa các thuộc tính sau:
key-
Một giá trị đại diện cho khóa của bản ghi.
primaryKey-
Khóa của bản ghi; giống hệt thuộc tính
key. value-
Một giá trị đại diện cho giá trị của bản ghi.
Ngoại lệ
Phương thức này có thể gây ra một DOMException thuộc các loại sau:
InvalidStateErrorDOMException-
Được ném nếu
IDBObjectStoređã bị xóa hoặc loại bỏ. TransactionInactiveErrorDOMException-
Được ném nếu giao dịch của
IDBObjectStorenày không hoạt động. TypeErrorDOMException-
Được ném nếu tham số
countkhông nằm trong khoảng từ0đến2^32 - 1, bao gồm cả hai đầu mút.
Ví dụ
const query = IDBKeyRange.lowerBound("myKey", true);
const objectStore = transaction.objectStore("contactsList");
const myRecords = (objectStore.getAllRecords({
query,
count: "100",
direction: "prev",
}).onsuccess = (event) => {
console.log("Records successfully retrieved");
});
Đặc tả kỹ thuật
| Specification |
|---|
| Indexed Database API 3.0> # dom-idbobjectstore-getallrecords> |
Tương thích trình duyệt
Xem thêm
IDBObjectStore.getAll(),IDBObjectStore.getAllKeys()- Sử dụng IndexedDB
- Bắt đầu giao dịch:
IDBDatabase - Sử dụng giao dịch:
IDBTransaction - Thiết lập 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 - Ví dụ về getAllRecords() - Đọc IndexedDB nhanh hơn từ Microsoft, 2025