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

  1. 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; };

  2. What's instead of tables (tables in SQL, collections in MongoDB) in IndexedDB?

    Object stores.

  3. SQL - IndexedDB _________________ CREATE - add SELECT - get UPDATE - put DELETE - delete SELECT (many) - getAll

    Name corresponding commands.

  4. What library is usually used for adding promises instead of callbacks to IndexedDB?

    idb - https://github.com/jakearchibald/idb

  5. 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.