What is the difference between collection.find with a callback and without?

What is the difference between:

var cursor = collection.find();
//do something

and

collection.find(null, function(err, cursor) {
  //do something
}

Does the first one "block?" If so, does "block" mean that it will lock up node until mongo returns the cursor?

(The first example is from the documentation for node-mongodb-native. If their example is blocking, then why would they put in the documentation?)

The first one is synchronous, and will block. If mongo times out, your node server will not be able to do anything else, so essentially "locked up", yes.

This should be avoided unless perhaps during server initialization, or to write command line tools.

The second one will let other events be processed before the callback gets called when the result from mongo is returned.