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

js
count()
count(query)

Tham số

query Optional

Một khóa hoặc đối tượng IDBKeyRange chỉ đị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:

InvalidStateError DOMException

Được ném nếu IDBObjectStore này đã bị xóa.

TransactionInactiveError DOMException

Được ném nếu giao dịch của IDBObjectStore này không hoạt động.

DataError DOMException

Đượ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.

js
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