Node.js has proven to be highly capable for building server applications. I have rewritten a Java server engine in Node.js and it has taken roughly a week. This old server served an API for managing mobile devices, their locations, and providing services to them. I’ve replaced 100% of that functionality with Node.js and its has actually been pretty easy to do.
One area that has been somewhat difficult has been producing the Oauth2 server functionality. While there are some implementations out there, it is difficult to get a lot of information about them from a production perspective.
One area that has come very easily has been moving over ORM functionality for MongoDB. Mongoose is a great framework that supports validation, mapping, and sub-document population (the coolest part). Love it!
Another truly inspired framework is async which allows you to perform asynchronous processes, map/reduce tasks, etc. Doing this level of async and synchronization with Java is why so many developers who have to do this thing have moved to Scala.