for mobile apps nodejs is in my opinion the best.
Because in apps you want that thousands of people can send many requests at the same time. And for those a non-blocking and async approach is the best. (you can reach this also in other script languages like perl with some frameworks).
I like nodejs because it is something like “lightweight” in comparison with monsters like java or c#.
MongoDB is documentbased database system often used with NodeJS-Backends
ExpressJS is a framework for NodeJS to build APIs.
And Firebase is simple a BaaS (backend as a service) --> you do not need to host your backend or create source code to get an API and Database. There you have a GUI where you can create data-models and api endpoints.