IDBKeyRange.upperBound()
La méthode upperBound()
, rattachée à l'interface IDBKeyRange
, crée un intervalle de clé avec une borne supérieure.
Par défaut, la borne est inclue dans l'intervalle (autrement dit, il est fermé à droite).
Note: Cette fonctionnalité est disponible via les Web Workers.
Syntaxe
IDBKeyRange.upperBound(borne);
IDBKeyRange.upperBound(borne, ouvert);
Paramètres
borne
-
La valeur de la borne supérieure pour l'intervalle.
ouvert Facultatif
-
Ce booléen indique si l'intervalle est ouvert à droite (autrement dit, s'il vaut
false
la borne est inclue et s'il vauttrue
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 supérieure, on utilise keyRangeValue = IDBKeyRange.upperBound("F");
— 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.upperBound("F", true);
, "F" n'aurait pas fait partie de l'intervalle.
function displayData() {
var keyRangeValue = IDBKeyRange.upperBound("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-upperbound① |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- Utiliser IndexedDB
- Initier une connexion :
IDBDatabase
- Utiliser les transactions :
IDBTransaction
- Définir un intervalle de clés :
IDBKeyRange
- Récupérer et modifier les données :
IDBObjectStore
- Utiliser les curseurs
IDBCursor
- Exemple de référence : To-do Notifications (exemple live).