Local storage is just key/value queries, IndexedDB allows you to make range queries against indexes you define, so you can get eg: recent blog posts, etc.
if I want to store persist objects using localStorage, I'd convert them to JSON and store key-value. However I cannot store whole object hierarchy as it'll soon become an overkill.
so I store separate objects, and recreate relations upon retrieval manually. But I also need to maintain my own index - to know which objects I have stored under what keys.