I wrote the db.js library so I might be a bit biased but it's main goals were to:
- Add Promise based callback handling rather than wiring up events to
onsuccess
and the like
- Add a simple and fluent API for querying that relied on method chaining and ultimately looked like JavaScript code
- Use a JavaScript object to define your database schema
- Handle connection 'pooling'
It wasn't meant to be fancy or solve any really complex implementation issues, just API issues (or what I see as API issues).
PouchDB on the other hand is a more complex solution attempting to solve the problem of data storage for online and offline, as it syncs nicely to a CouchDB instance.
Both jQuery IndexedDB and IDBWrapper to me look much more like proof-of-concepts than fully fledged attempts to provide a programming interface to IndexedDB, especially the jQuery one, I don't see why jQuery is needed for it, you aren't working with the DOM.
Ultimately there's no right answer here, you're better off trying out one of the libraries, if it doesn't work for you then move on to the next one and keep going until you find the library that works best for your projects.