The only thing I don't like about NodeJS is that I don't like JavaScript. Mainly because I enjoy programming languages that don't have dynamic variables such as Java. I find sending JavaScript Objects over the network to be a waste of bandwidth (Sending everything as a String). For example, sending an Integer over the network would require the following, at a bare minimum:
Let's say that we're using the 1bpc (1 Byte Per Character) assumption here, that's 22bytes being sent over the network, apposed to just writing an integer (binary format, 4 bytes) over a network.
I've yet to see any libraries that handle binary encoding for JavaScript, which is my only complaint about NodeJS. It's a bandwidth hog under heavy loads.
Performs extremely well though.