Skip to content

gokulkrishh/IndexedDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WIP - IndexedDB Examples

Examples of how to use IndexedDB

Support

Full specs

API

Open Database Connection

var dbRequest = indexedDB.open("myDatabase", 1);

To open an database, just use open method with database name. Second argument is version of database.

Tips
var dbRequest = indexedDB.open("myDatabase", 1.5);

In above example, 1.5 version will be rounded to 1. So use whole number instead of decimal for DB version.

Events

dbRequest.onerror = function(event) {
  //On error event
};
dbRequest.onsuccess = function(event) {
  //On success event
};
//This event is triggered when creating a schema
dbRequest.onupgradeneeded = function(event) {

};

Create a store

var db;
var store;
var index;
dbRequest.onupgradeneeded = function(event) {
  db = event.target.result;
  //To create Store, find screenshot below for this
  store = db.createObjectStore("MyStore", {keyPath: "id"});

  index = store.createIndex("Index", ["name"]);
};

After creating store

After creating Index - Name

To handle generic error for particular DB

//Handle error for above DB only
db.onerror = function(event) {
  console.log("Error Code: ", event.target.errorCode);
}

Transaction

var dbTransaction = db.transaction("MyStore", "readwrite");
var myStore = tx.objectStore("MyStore");

//To store data
store.put({id: 1, name: "Gokul", age: 25});
store.put({id: 1, name: "Krishh", age: 20});

Query stored data

var user = store.get(1);
var userName = index.get("Krishh");

user.onsuccess = function() {
  console.log(userName.result.id);  // 1
  console.log(userName.result.name);  // Gokul
};

userName.onsuccess = function() {
  console.log(userName.result.name);  // Krishh
};

//Close the DB, once transaction is done
dbTransaction.oncomplete = function() {
  db.close();
};

Wrapper Libraries

Reference

MIT Licensed

About

Examples for IndexedDB API's

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published