Creating an object store within the database
So far, our database can't store anything because we've not created an object store. If you're familiar with tables or schemas from relational databases, these are somewhat similar. And, of course, before we can store any objects in them, we have to first create a place for them to be stored.
The only time you can modify the structure of your database is in the onupgradeneeded
handler. This handler is called whenever the database needs to be upgraded, which makes sense, but it's also called when the database is brand new.
In order to create an object store, we need to determine at least some of the properties we'll expect most objects to have. Although you can store any kind of objects you want with any number of properties, one does need a way of finding objects in the store without having to iterate over every stored object.
The primary mechanism for looking up an object is the object's key. This key can be a property that exists on all the objects...