Avoiding callback hell
My 2 cents are:


This code is understandable, but I would still rewrite it since it is cookie cutter, and you will surely move on to more complex stuff 
Q uses a Promise object, Mongoose does not, so that would not work without some overhauling ( I personally like Q better though )
Async works with 'last parameter must be a callback' which is exactly how Mongoose works, so use that