Rewrite of Mongoise that uses Q for promises