IDBObjectStore: phương thức count()
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.
Phương thức count() của giao diện IDBObjectStore trả về một đối tượng IDBRequest, và, trong một luồng riêng biệt, trả về tổng số bản ghi khớp với khóa hoặc IDBKeyRange được cung cấp. Nếu không cung cấp đối số, nó trả về tổng số bản ghi trong store.
Cú pháp
count()
count(query)
Tham số
queryOptional-
Một khóa hoặc đối tượng
IDBKeyRangechỉ định phạm vi bản ghi bạn muốn đếm.
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à số lượng bản ghi khớp với truy vấn đã cho.
Ngoại lệ
Phương thức này có thể gây ra một DOMException thuộc một trong các loại sau:
InvalidStateErrorDOMException-
Được ném nếu
IDBObjectStorenày đã bị xóa. TransactionInactiveErrorDOMException-
Được ném nếu giao dịch của
IDBObjectStorenày không hoạt động. DataErrorDOMException-
Được ném nếu khóa hoặc phạm vi khóa được chỉ định không hợp lệ.
Ví dụ
Trong đoạn mã đơn giản này, chúng ta tạo một giao dịch, truy xuất một object store, sau đó đếm số lượng bản ghi trong store bằng count() — khi trình xử lý success được kích hoạt, chúng ta ghi giá trị count (một số nguyên) ra console.
const transaction = db.transaction(["fThings"], "readonly");
const objectStore = transaction.objectStore("fThings");
const countRequest = objectStore.count();
countRequest.onsuccess = () => {
console.log(countRequest.result);
};
Đặc tả kỹ thuật
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-count①> |
Tương thích trình duyệt
Xem thêm
- 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ụ tham khảo: To-do Notifications (Xem ví dụ trực tiếp).