Mongo is neat, but I don't have a whole lot of experience with it myself. Node.js I can expand on a bit though.
It's a pretty different feel from developing traditional web applications, like say Perl or PHP on Apache. The server keeps connections open and can keep persistent state, which leads to different and possibly more efficient design philosophies. For example, our company's backend API used for many internal applications uses a MySQL database server. Whenever requests are made against the API it has to load column definitions for the database so it can determine whether to perform adds or updates as required. Right now it's coded in PHP and uses Apache, so it has to reload this data every time a request comes in. Node.js can store that globally somewhere and never need to reload it again unless the database schema changes. It also only needs one copy for all running connections, where the PHP version has to waste memory loading copies per connection.
Node.js is also nice because it lets you use web technologies like web sockets, where that's hard and clunky with something like PHP. That might make it useful for computer games or similar applications that do lots of communication between clients. Integration with stuff like Mongo might also be simpler with Node.js since it uses JavaScript as its native language. JavaScript has its ups and downs, but coding server side software with it is kind of cool when you're used to PHP. You'll want to get comfortable with callbacks and asynchronous function calls.
Node.js does have some downsides though. First off, Apache and similar servers gives you a lot functionality that you have to either import as a library or code yourself. A router is an example So, with Apache it's trivial to get a document root set up and have it serving index.html, page2.html, some_directory/page3.html without any coding. With Node.js you have to manually decipher incoming requests to determine what page the client's asking for, load it and process it, then return it with any needed headers. Stuff like that, or access control, or redirections, or other stuff is going to need code from you or a library. Another huge downside is that if any incoming request causes a fatal exception it kills the process. There's only one process, so all of your client connections get dropped until you restart the server. Oh, and since there's only one process, trying to do anything truly in parallel is going to hard. I think there's some way to do that now, but I don't know how it works.
In short, Node.js is pretty cool, but I don't see it replacing traditional web servers for a while.