My user lib have following code for register
function register { // do some validation on lib level //user is instance of user collection user.save() .t
It seems you're not using Bluebird, but mongoose promises (mpromise), which don't have a .catch method.
You can fix that by
user.saveAsync().then(…)
User
Promise.resolve(user.save()).then(…)