IDBObjectStore.get()

La méthode get() de l'interface IDBObjectStore fait une requête pour renvoyer la valeur d'un enregistrement du magasin d'objet relié.

undefined

null

undefinedundefined

null

Note: Cette fonctionnalité est disponible via les Web Workers

Syntaxe

var request = objectStore.get(cle);

Paramètre

cle

la clé ou l'intervalle de clé de l'enregistrement dont on cherche la valeur.

Renvoie

Une requête

La propriété result de cette requête renvoie en cas de succès,  un clone structuré de la valeur de l'enregistrement correspondant à la clé ou du premier correspondant à l'intervalle de clé.

Exceptions

TransactionInactiveError

Cette exception est levé si la transaction dont dépend cet accès au magasin d'objet est inactive.

DataError

Cette exception est levé si la clé ou l'intervalle de clé est invalide.

InvalidStateError

Cette exception est levé si le magasin d'objet à été supprimé.

Exemple

Dans le code suivant , on ouvre une transaction sur la connexion à la base de données, pour avoir l'accès au magasin d'objet dans lequel on veut retrouver la valeur d'un enregistrement.

La méthode **get() **sert à retrouver la valeur de l'enregistrement dont la clé est Walk dog dans magasin d'objets toDoList

// ouvre la connexion à la base de données
var DBOpenRequest = window.indexedDB.open("toDoList", 4);

// Gère l'ouverture de la connexion
DBOpenRequest.onsuccess = function() {
  note.innerHTML += '<li>Database initialised.</li>';

  // enregistre la connexion dans la variable db
  db = DBOpenRequest.result;

  // exécute la fonction deleteData()
  deleteData();
};

function deleteData() {
  // ouvre un transaction en mode lecture/écriture pour effectuer la suppression
  var transaction = db.transaction(["toDoList"], "readwrite");

  // affiche le succès de la transaction.
  transaction.oncomplete = function() {
    note.innerHTML += '<li>Transaction effectuée: fin de la modification de la base de données.</li>';
  };

  // affiche la cause de l’échec de la transaction.
  transaction.onerror = function() {
    note.innerHTML += '<li>Échec de la transaction: ' + transaction.error + ' la base de données n\'a pas été modifié</li>';
  };

  // ouvre un accès au magasin d'objet toDoList
  var objectStore = transaction.objectStore("toDoList");

  // Retrouve l'enregistrement dont la clé est Walk dog
   var objectStoreRequest = objectStore.get("Walk dog");

  objectStoreRequest.onsuccess = function() {
    //Affiche le succès de la requête
    note.innerHTML += '<li>Enregistrement retrouvé.</li>';

    //affecte la valeur de l'enregistrement à la variable
    var myRecord = objectStoreRequest.result;
  };
};

Note : Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

Spécifications

Spécification Statut Commentaire
Indexed Database API 2.0
La définition de 'get()' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi