Take a look at this video and tell me this query and the required data denormalization is acceptable.
Something as simple as filtering by 2 or more values becomes ridiculously tedious.
http://stackoverflow.com/questions/26700924/query-based-on-m...
Also since Firebase doesn't allow more than one filtering field with orderByChild(...) I'm guessing Querybase will do all the work on the client. This is less than ideal since the data has to be downloaded first.
Here's a practical example of doing joins with Firebase (written by David East who is also the star of that video you linked): https://github.com/davideast/Querybase
https://medium.com/@Pier/firebase-the-great-the-meh-and-the-...
Don't get me wrong, Firebase has a lot of good things going on, but the bad aspects make it unsuitable for a large variety of projects.
As I found out today if you want the analytics data in CSV, or query it to any level that's useful beyond "We have 5 users in Stockholm on KitKat", you'll need the next service tier up, which is $25 per month per project.
But if you want basic analytics, then it's free & easy.