If you’re wanting to reuse code for native mobile, you might want to try out using a React stack, as React Native can provide you with your native mobile apps, and reuse some of your React.
Node for a backend is just dandy.
If you need a DB, any of them will do, that’s more specific to what exactly you want to do. MongoDB is popular for working with the newer frameworks, but really any of them. I’m more familiar with relational databases like MySQL, personally.
Using node.js alone won’t make the application “fast”. That is a myth. Making an web application fast and efficient has more to do with the infrastructure which supports it than the programming language. To that end you want to be in the cloud using a vendor that makes it easy to scale and provision new nodes to accommodate changes in traffic volumes. In terms of scaling to support high levels of traffic you want to use a database that can be partitioned across multiple servers. Luckily for that all the popular players have various options to do that especially if you choose to deploy on amazon infrastructure.
Thank you, yes even I am thinking of using react now. For architecture purpose I see that people are recommending using the redux. I need to figure out about the sync process when coming back from offline mode( like pouchdb/couchdb any pointers here?)