how to make sure that the node.js calls to mongodb are really asynchronous

I am trying to write a node.js application, and we need to deploy it in production.

We need to make sure that node.js does not hang when there are any long running processes/operations, like querying, or the database server access.

So, i am trying to make a call to mongo or to filesystem which takes very long time to finish, so that i can verify that other node.js server is free to serve any other requests while that takes place.

Sadly, i am not able to insert a record for which mongo takes really long time to finish or to make a synch call to the file system.

Can someone tell me how to do it?

Thanks

Tuco

The trick is do a console log of the data after the block that do a call and a console.log in the callback if in the console apears first the message is actually asynchronous

Im using mongojs as driver for mongo:

collection.find({}, function(err, res) {
    console.log("done")
});
console.log("sendign signal")

If its asynchronous, in the console:

sendign signal
done! 

Now for the chained behavior you can make something like that

dbChain = (function() {
  var chain = [], cursor = 0, busy = false;

  chainin = {
    push : function(aFn) {
      if(!busy) {
        chainin.reset();
        aFn();
        busy = true;
      } else {
        chain.push(aFn)
      }
    },

    next : function() {
      cursor++;
      if(chain[cursor]) {
        chain[cursor]();
      } else {
        chainin.reset();
      }

    },

    reset : function() {
      chain = [];
      cursor = 0;
      busy = false;
    }
  }

  return chainin;

})()

and, in all the db calls you have to do:

dbChain.push(...(a function ) ...)

in all your callbacks

dbChain.next()