se você quiser chamar um construtor com argumentos nomeados, sua classe DEVE fornecer também um construtor sem argumentos.
no seu caso, eu faria a seguinte chamada:
dao = new MongoDao( h, p )
como este construtor está fazendo algum trabalho
dao = new MongoDao( h, p )