Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. IDBKeyRange

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

IDBKeyRange

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.

Hinweis: Diese Funktion ist inWeb Workers verfügbar.

DasIDBKeyRange-Interface derIndexedDB API repräsentiert ein kontinuierliches Intervall über einen Datentyp, der für Schlüssel verwendet wird. Datensätze können ausIDBObjectStore undIDBIndex-Objekten unter Verwendung von Schlüsseln oder einem Schlüsselbereich abgerufen werden. Sie können den Bereich mithilfe von unteren und oberen Grenzen einschränken. Zum Beispiel können Sie über alle Werte eines Schlüssels im Wertebereich von A bis Z iterieren.

Ein Schlüsselbereich kann einen einzelnen Wert oder einen Bereich mit oberen und unteren Grenzen oder Endpunkten darstellen. Wenn der Schlüsselbereich sowohl obere als auch untere Grenzen hat, ist erbegrenzt; wenn er keine Grenzen hat, ist erunbegrenzt. Ein begrenzter Schlüsselbereich kann entweder offen (die Endpunkte sind ausgeschlossen) oder geschlossen (die Endpunkte sind eingeschlossen) sein. Um alle Schlüssel innerhalb eines bestimmten Bereichs abzurufen, können Sie die folgenden Codekonstruktionen verwenden:

BereichCode
Alle Schlüssel ≥xIDBKeyRange.lowerBound(x)
Alle Schlüssel >xIDBKeyRange.lowerBound(x, true)
Alle Schlüssel ≤yIDBKeyRange.upperBound(y)
Alle Schlüssel <yIDBKeyRange.upperBound(y, true)
Alle Schlüssel ≥x && ≤yIDBKeyRange.bound(x, y)
Alle Schlüssel >x && <yIDBKeyRange.bound(x, y, true, true)
Alle Schlüssel >x && ≤yIDBKeyRange.bound(x, y, true, false)
Alle Schlüssel ≥x && <yIDBKeyRange.bound(x, y, false, true)
Der Schlüssel =zIDBKeyRange.only(z)

Ein Schlüssel befindet sich in einem Schlüsselbereich, wenn die folgenden Bedingungen zutreffen:

  • Der untere Wert des Schlüsselbereichs ist einer der folgenden:

    • undefined
    • Kleiner als der Schlüsselwert
    • Gleich dem Schlüsselwert, wennlowerOpenfalse ist.
  • Der obere Wert des Schlüsselbereichs ist einer der folgenden:

    • undefined
    • Größer als der Schlüsselwert
    • Gleich dem Schlüsselwert, wennupperOpenfalse ist.

Instanz-Eigenschaften

IDBKeyRange.lowerSchreibgeschützt

Untere Grenze des Schlüsselbereichs.

IDBKeyRange.upperSchreibgeschützt

Obere Grenze des Schlüsselbereichs.

IDBKeyRange.lowerOpenSchreibgeschützt

Gibt false zurück, wenn der niedrige Grenzwert im Schlüsselbereich enthalten ist.

IDBKeyRange.upperOpenSchreibgeschützt

Gibt false zurück, wenn der obere Grenzwert im Schlüsselbereich enthalten ist.

Statische Methoden

IDBKeyRange.bound()

Erstellt einen neuen Schlüsselbereich mit oberen und unteren Grenzen.

IDBKeyRange.only()

Erstellt einen neuen Schlüsselbereich, der einen einzelnen Wert enthält.

IDBKeyRange.lowerBound()

Erstellt einen neuen Schlüsselbereich mit nur einer unteren Grenze.

IDBKeyRange.upperBound()

Erstellt einen neuen Schlüsselbereich mit nur einer oberen Grenze.

Instanz-Methoden

IDBKeyRange.includes()

Gibt einen booleschen Wert zurück, der angibt, ob ein angegebener Schlüssel innerhalb des Schlüsselbereichs liegt.

Beispiele

Das folgende Beispiel veranschaulicht, wie Sie einen Schlüsselbereich verwenden würden. Hier deklarieren wir einenkeyRangeValue als Bereich zwischen den Werten"A" und"F". Wir öffnen eine Transaktion (mithilfe vonIDBTransaction) und einen Objekt-Store und öffnen einen Cursor mitIDBObjectStore.openCursor, wobei wirkeyRangeValue als seinen optionalen Schlüsselbereichswert deklarieren. Das bedeutet, dass der Cursor nur Datensätze mit Schlüsseln innerhalb dieses Bereichs abruft. Dieser Bereich schließt die Werte"A" und"F" ein, da wir nicht angegeben haben, dass sie offene Grenzen sein sollen. Wenn wirIDBKeyRange.bound("A", "F", true, true); verwenden würden, dann würde der Bereich"A" und"F" nicht einschließen, nur die dazwischenliegenden Werte.

Hinweis:Für ein vollständigeres Beispiel, mit dem Sie mit dem Schlüsselbereich experimentieren können, werfen Sie einen Blick auf unserIDBKeyRange-Beispiel-Repo (sehen Sie sich das Beispiel auch live an.)

js
function displayData() {  const keyRangeValue = IDBKeyRange.bound("A", "F");  const transaction = db.transaction(["fThings"], "readonly");  const objectStore = transaction.objectStore("fThings");  objectStore.openCursor(keyRangeValue).onsuccess = (event) => {    const cursor = event.target.result;    if (cursor) {      const listItem = document.createElement("li");      listItem.textContent = `${cursor.value.fThing}, ${cursor.value.fRating}`;      list.appendChild(listItem);      cursor.continue();    } else {      console.log("Entries all displayed.");    }  };}

Spezifikationen

Specification
Indexed Database API 3.0
# keyrange

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp