IDBKeyRange.only()

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 only(), rattachée à l'interface IDBKeyRange, permet de créer un nouvel intervalle de clé qui ne contient qu'une valeur.

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

Syntaxe

js
myKeyRange = IDBKeyRange.only(valeur);

Paramètres

valeur

La valeur dans l'intervalle de clé.

Valeur de retour

L'objet IDBKeyRange correspondant à l'intervalle de clé qui vient d'être créé.

Exceptions

Cette méthode peut déclencher une exception DOMException du type DataError lorsque la valeur passée en argument n'est pas une clé valide.

Exemples

Dans l'exemple qui suit, on illustre comment utiliser un intervalle de clé qui ne contient qu'une seule clé. On déclare un intervalle qui ne contient que la valeur "A" avec keyRangeValue = IDBKeyRange.only("A"); Ensuite, on ouvre une transaction grâce à IDBTransaction puis un magasin d'objets et un curseur grâce à la méthode IDBObjectStore.openCursor pour laquelle on passe keyRangeValue en argument. Cela signifie que le curseur permettra uniquement de récupérer les enregistrements dont la clé vaut "A".

js
function displayData() {
  var keyRangeValue = IDBKeyRange.only("A");

  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-only①

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