IDBKeyRange.lowerBound()

Baseline Widely available

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

La méthode lowerBound(), rattachée à l'interface IDBKeyRange, crée un intervalle de clé avec une borne inférieure.

Par défaut, la borne est inclue dans l'intervalle (autrement dit, il est fermé à gauche).

Note : Cette fonctionnalité est disponible via les Web Workers.

Syntaxe

js
IDBKeyRange.lowerBound(borne);
IDBKeyRange.lowerBound(borne, ouvert);

Paramètres

borne

La valeur de la borne inférieure pour l'intervalle.

ouvert Facultatif

Ce booléen indique si l'intervalle est ouvert à gauche (autrement dit, s'il vaut false la borne est inclue et s'il vaut true la borne n'est pas inclue dans l'intervalle).

Valeur de retour

Un objet IDBKeyRange qui correspond à l'intervalle de clé créé.

Exceptions

Cette méthode peut lever une exception DOMException de type DataError lorsque la valeur passée en paramètre n'est pas une clé valide.

Exemples

Dans l'exemple qui suit, on illustre comment créer un intervalle de clé avec une borne inférieure, on utilise keyRangeValue = IDBKeyRange.lowerBound("F", false); — cela permet de créer un intervalle qui contient "F" et les valeurs inférieures. On ouvre ensuite une transaction grâce à IDBTransaction) puis un magasin d'objet et un curseur avec la méthode IDBObjectStore.openCursor à laquelle on associe l'intervalle de clé keyRangeValue.

Si on a avait utilisé IDBKeyRange.lowerBound("F", true);, "F" n'aurait pas fait partie de l'intervalle.

js
function displayData() {
  var keyRangeValue = IDBKeyRange.lowerBound("F");

  var transaction = db.transaction(["fThings"], "readonly");
  var objectStore = transaction.objectStore("fThings");

  objectStore.openCursor(keyRangeValue).onsuccess = function (event) {
    var cursor = event.target.result;
    if (cursor) {
      var listItem = document.createElement("li");
      listItem.innerHTML =
        "<strong>" + cursor.value.fThing + "</strong>, " + cursor.value.fRating;
      list.appendChild(listItem);

      cursor.continue();
    } else {
      console.log("Les éléments sont affichés.");
    }
  };
}

Note : Pour un exemple complet qui utilise les intervalles de clé, vous pouvez consulter le dépôt GitHub IDBKeyRange-example (ainsi que la démonstration associée).

Spécifications

Specification
Indexed Database API 3.0
# ref-for-dom-idbkeyrange-lowerbound①

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
lowerBound() static method

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi