IDBObjectStore: count() Methode
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die count()-Methode der IDBObjectStore-Schnittstelle gibt ein IDBRequest-Objekt zurück, und in einem separaten Thread die Gesamtzahl der Datensätze, die mit dem angegebenen Schlüssel oder IDBKeyRange übereinstimmen. Wenn keine Argumente angegeben werden, wird die Gesamtzahl der Datensätze im Speicher zurückgegeben.
Syntax
count()
count(query)
Parameter
queryOptional-
Ein Schlüssel oder ein
IDBKeyRange-Objekt, das einen Bereich von Datensätzen festlegt, die Sie zählen möchten.
Rückgabewert
Ein IDBRequest-Objekt, auf dem nachfolgende Ereignisse im Zusammenhang mit dieser Operation ausgelöst werden.
Wenn die Operation erfolgreich ist, ist der Wert der result-Eigenschaft des Antrags die Anzahl der Datensätze, die mit der angegebenen Abfrage übereinstimmen.
Ausnahmen
Diese Methode kann eine DOMException der folgenden Typen auslösen:
InvalidStateErrorDOMException-
Wird ausgelöst, wenn dieses
IDBObjectStoregelöscht wurde. TransactionInactiveErrorDOMException-
Wird ausgelöst, wenn die Transaktion dieses
IDBObjectStoreinaktiv ist. DataErrorDOMException-
Wird ausgelöst, wenn der angegebene Schlüssel oder Schlüsselbereich ungültig ist.
Beispiele
In diesem einfachen Fragment erstellen wir eine Transaktion, rufen einen Objektspeicher ab und zählen dann
die Anzahl der Datensätze im Speicher mit count() — wenn der Erfolgshandler
ausgelöst wird, protokollieren wir den Zählwert (eine ganze Zahl) in der Konsole.
const transaction = db.transaction(["fThings"], "readonly");
const objectStore = transaction.objectStore("fThings");
const countRequest = objectStore.count();
countRequest.onsuccess = () => {
console.log(countRequest.result);
};
Spezifikationen
| Spezifikation |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-count①> |
Browser-Kompatibilität
Siehe auch
- Verwendung von IndexedDB
- Starten von Transaktionen:
IDBDatabase - Verwendung von Transaktionen:
IDBTransaction - Festlegen eines Schlüsselbereichs:
IDBKeyRange - Abrufen und Ändern Ihrer Daten:
IDBObjectStore - Verwendung von Cursoren:
IDBCursor - Referenzbeispiel: To-do Notifications (Beispiel live ansehen).