@kiongkiong Thanks for suggesting LokiJS, I hadn't heard about it before.
What do you use for persisting the data? I thought IndexedDB would be OK, but it turns out that it doesn't work on iOS. I ended up storing the data as a JSON file.
If anyone is thinking about using LokiJS, check out my tutorial: http://gonehybrid.com/how-to-use-lokijs-for-local-storage-in-your-ionic-app/