Offline storages: IndexedDB
IndexedDB is a noSQL database in the browser. Why use IndexedDB: https://github.com/addyosmani/storage-on-the-web Using IndexedDB: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB
5 flashcards · Programming Languages · by lakesare
What does this achieve? var request = window.indexedDB.open("MyTestDatabase", 3);
window.indexedDB.open(name, version) (version number should upgrade every time you change a schema) If the database doesn't already exist, it is created by the open operation, then an onupgradeneeded event is triggered and you create the database schema in the handler for this event. request.onerror = function(event) {}; request.onsuccess = function(event) { //=> instance of IDBDatabase! db = event.target.result; };
What's instead of tables (tables in SQL, collections in MongoDB) in IndexedDB?
Object stores.
SQL - IndexedDB _________________ CREATE - add SELECT - get UPDATE - put DELETE - delete SELECT (many) - getAll
Name corresponding commands.
What library is usually used for adding promises instead of callbacks to IndexedDB?
idb - https://github.com/jakearchibald/idb
When is onupgradeneeded triggered? var request = self.IndexedDB.open('EXAMPLE_DB', 1); request.onupgradeneeded = function(event) { // create object store from db or event.target.result };
onupgradeneeded event is triggered when: 1. we are trying to create a new database, or 2. trying to upgrade the database with a new version. This is a great place to create the object store.