IDBObjectStore.autoIncrement

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 propriété autoIncrement de l'interface IDBObjectStore renvoie la position du drapeau d'incrémentation automatique du magasin d'objet relié.

Note : Chaque magasin d'objets à son conteur d'incrémentation automatique.

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

Syntaxe

js
var myAutoIncrement = objectStore.autoIncrement;

Valeur

Un booléen .

true

Le magasin d'objet relié s'incrémente automatiquement.

false

Le magasin d'objet relié ne s'incrémente pas automatiquement.

Exemple

Dans le code suivant, on ouvre une connexion à la base de donnée. Sur cette connexion on démarre une transaction en lecture/écriture pour avoir un accès au magasin d'objet "toDoList" dans lequel on ajoute un enregistrement.

La propriété autoIncrement de l'accès au magasin d'objet sert à affiché la position du drapeau d'incrémentation automatique de ce magasin d'objet sur la console.

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

DBOpenRequest.onsuccess = function (event) {
  note.innerHTML += "Connexion établie.";

  //Affecte la connexion à la variable db.
  db = DBOpenRequest.result;

  // Exécutez la fonction addData () pour ajouter l'enregistrement dans le magasin d'objet
  addData();
};
function addData() {
  // un nouvel objet prêt à être emmagasiné
  newItem = [
    {
      taskTitle: "Walk dog",
      hours: 19,
      minutes: 30,
      day: 24,
      month: "December",
      year: 2013,
      notified: "no",
    },
  ];

  // ouvre une transaction de lecture / écriture prête au traitement des données sur la connexion
  var transaction = db.transaction(["toDoList"], "readwrite");

  // en cas de succès de l'ouverture de la transaction
  transaction.oncomplete = function (event) {
    note.innerHTML +=
      "<li>Transaction complété : modification de la base de données terminée.</li>";
  };
  // en cas d'échec de l'ouverture de la transaction
  transaction.onerror = function (event) {
    note.innerHTML +=
      "<li>L'erreur: \"" +
      transaction.error +
      "\" c'est produite échec de la transaction.</li>";
  };

  // ouvre l'accès au un magasin "toDoList" de la transaction
  var objectStore = transaction.objectStore("toDoList");

  //->Affiche la position du drapeau d’incrémentation automatique
  console.log(objectStore.autoIncrement);

  // Ajoute un enregistrement
  var objectStoreRequest = objectStore.add(newItem[0]);
  objectStoreRequest.onsuccess = function (event) {
    // signale l'ajout de l'enregistrement
    note.innerHTML += "<li>Enregistrement ajouté.</li>";
  };
}

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

Spécifications

Specification
Indexed Database API 3.0
# ref-for-dom-idbobjectstore-autoincrement①

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
autoIncrement

Legend

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

Full support
Full support

Voir aussi