From my experience working with online databases and their offline alternatives, I would recommend you go with PouchDB. The reason is that you can easily sync your local database with the remote one, CouchDB works with revisions, so it’ll only download the diff instead of the whole database when updating.
If bandwidth isn’t a problem for you and the size of the database is small, You could use the node mysql or mongo drivers and connect to a remote database and cache their outputs, in case the network is down, you could use their outputs which is not a difficult task. You could store their results in the
localStorage or if you need something performant, you could use the embedded leveldb or sqlite for node