IDBObjectStore: count() 方法
注意:此功能在 Web Workers 中可用。
IDBObjectStore 介面的 count() 方法返回一個 IDBRequest 物件,並在單獨的執行緒中返回與提供的鍵或 IDBKeyRange 匹配的記錄總數。如果未提供引數,它將返回儲存中的記錄總數。
語法
js
count()
count(query)
引數
query可選-
一個鍵或
IDBKeyRange物件,用於指定要計數的記錄範圍。
返回值
一個 IDBRequest 物件,後續與此操作相關的事件會在此物件上觸發。
如果操作成功,請求的 result 屬性的值將是與給定查詢匹配的記錄數。
異常
此方法可能會丟擲以下型別之一的DOMException:
InvalidStateErrorDOMException-
如果此
IDBObjectStore已被刪除,則會丟擲此錯誤。 TransactionInactiveErrorDOMException-
如果此
IDBObjectStore的事務不活躍,則會丟擲此異常。 DataErrorDOMException-
如果指定的鍵或鍵範圍無效,則丟擲此異常。
示例
在這個簡單的程式碼片段中,我們建立了一個事務,檢索了一個物件儲存,然後使用 count() 來計算儲存中的記錄數 —— 當 success 處理程式觸發時,我們將計數(一個整數)記錄到控制檯。
js
const transaction = db.transaction(["fThings"], "readonly");
const objectStore = transaction.objectStore("fThings");
const countRequest = objectStore.count();
countRequest.onsuccess = () => {
console.log(countRequest.result);
};
規範
| 規範 |
|---|
| Indexed Database API 3.0 # ref-for-dom-idbobjectstore-count① |
瀏覽器相容性
載入中…
另見
- 使用 IndexedDB
- 開始事務:
IDBDatabase - 使用事務:
IDBTransaction - 設定鍵的範圍:
IDBKeyRange - 檢索和修改資料:
IDBObjectStore - 使用遊標:
IDBCursor - 參考示例:待辦事項通知(檢視即時示例)。