4 ms·
Firebase engineer here. I hope you've been in touch with our support team and I'm sorry to see you've had so much trouble. You point out some genuine limitation
by inlined 10y ago
Firebase engineer here. I hope you've been in touch with our support team and I'm sorry to see you've had so much trouble. You point out some genuine limitations with our product. We have some great improvements in the pipeline and I'm sorry that they came too late for you. In case others have had similar experience, it's worth mentioning that some of these seem fixable by structuring your data differently[1].
Specifically, complaints 2-4 sound like they all arose from nesting all of your data in one tree[1] and using a query for all children[2]. This means you'll load too much data in every request, which will slow down your microservices and cause a large bill for unnecessary outbound traffic.
#5 has two possible solutions. Either use the push() message to avoid any conflicts in the data you're writing or the transaction() method to manage the conflicts in an online-only mode. push() requires some work to recompose something from a series of changes, but has the advantage of being offline-compatible.
Regarding #6, I agree we can better support data migrations (we're looking into it). If your problem is as simple as the one listed, I'd really recommend checking out a library like lodash[3]. The ugly if statement could have been
if(_.has(user, 'new_subdocument.new_property')) {
/* do stuff */
}
or even:
var thing = _.get(user, 'new_subdocument.new_property', default);
// always do something with thing; we just added an in-memory
// value that we would have made a data migration for in the
// past.
Finally, regarding queues, are you referring to firebase-queue?[4] This is an open-sourced part of our internal infrastructure. There are currently 16 issues open, but they seem to be mostly feature requests. If you've found bugs we'd love some repo steps.
I hope that helps. We're always listening on firebase-talk@googlegroups.com, stackoverflow.com, and our slack channel.
[1]: For a great article, see https://firebase.googleblog.com/2013/04/denormalizing-your-data-is-normal.html https://firebase.googleblog.com/2013/04/denormalizing-your-d... or the general Firebase data layout guide at https://firebase.google.com/docs/database/web/structure-data https://firebase.google.com/docs/database/web/structure-data
[2]: Try using order + limitToFirst(N) https://firebase.google.com/docs/database/web/retrieve-data#filtering_data https://firebase.google.com/docs/database/web/retrieve-data#...
[3]: https://lodash.com/ https://lodash.com/
[4]: https://github.com/firebase/firebase-queue https://github.com/firebase/firebase-queue
- KingOfMyRoom 10y agoI have been using Firebase for two months now and it is a total nightmare to me. The support is awful. 1) I don't get answers on Stackoverflow. 2) I have stopped using your slack as it's close to impossible to get any answer. It's a complete joke. 3) When I tried to google, I often end up getting the legacy documents which are deprecated 4) There are too many breaking changes between your different versions. This makes it so confusing to use angularfire/firebase and finding deprecated code examples. 5) The youtube videos feels like a huge marketing stunts and you are all busy trying to promote an ever changing/incomplete firebase. 10 month old videos are no longer valid because of breaking changes. 6) The security rules difference between firebase storage & firebase database 7) Querying being such a huge pain. There was an effort made in a 2014 blog post but obviously code is obsolete. I know in the end. It must be the developer's fault who’s not smart enough for firebase maybe.
- davideast 10y agoHello, Firebase YouTuber, Slacker, AngularFire contributor, and Stackoverflower here. Feel free to ping me personally in the Slack channel (davideast) of via email (david@firebase.com) to talk more about all of these problems you've hit. We work hard to make sure people get their questions answered so I'd love to have a discussion with you.
- muthdra 10y agoI think Firebase is a pretty cool guy. Eh helps you develop high-quality apps, grow your user base, earn more money and doesn’t afraid of anything.