IDBObjectStore:count() 方法
注意:此功能在 Web Workers 中可用。
count()
方法是 IDBObjectStore
接口的一部分,它返回一个 IDBRequest
对象,并在单独的线程中返回与提供的键或 IDBKeyRange
匹配的记录总数。如果未提供任何参数,则返回存储中记录的总数。
语法
js
count()
count(query)
参数
query
可选-
一个键或
IDBKeyRange
对象,用于指定要计数的记录范围。
返回值
一个 IDBRequest
对象,后续与该操作相关的事件将在此对象上触发。
如果操作成功,则请求的 result
属性的值为与给定查询匹配的记录数。
异常
此方法可能会引发以下类型的 DOMException
InvalidStateError
DOMException
-
如果此
IDBObjectStore
已被删除,则抛出此异常。 TransactionInactiveError
DOMException
-
如果此
IDBObjectStore
的事务处于非活动状态,则抛出此异常。 DataError
DOMException
-
如果指定的键或键范围无效,则抛出此异常。
示例
在这个简单的片段中,我们创建了一个事务,检索了一个对象存储,然后使用 count()
统计存储中的记录数——当成功处理程序触发时,我们将计数值(一个整数)记录到控制台。
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① |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- 使用 IndexedDB
- 启动事务:
IDBDatabase
- 使用事务:
IDBTransaction
- 设置键范围:
IDBKeyRange
- 检索和修改数据:
IDBObjectStore
- 使用游标:
IDBCursor
- 参考示例:待办事项通知 (查看示例)。