Non dovresti aver bisogno di cambiare tutte le tue query esistenti, dovresti solo cambiare la logica che stabilisce il tuo MongoClient. La maggior parte delle applicazioni lo fa come una sorta di Singleton, quindi aggiungere l'autenticazione è solo una questione di modificare il Singleton. È una seccatura che non ci sia una firma che prenda solo String, String per la password del nome utente, ma è l'API Mongo Java, abituati alla delusione.
Puoi seguire il percorso MongoURI che ti dà la firma più breve...
MongoClient mongo = new MongoClient(
new MongoClientURI( "mongodb://app_user:[email protected]/data" )
);
Oppure vai con il percorso List
List<ServerAddress> seeds = new ArrayList<ServerAddress>();
seeds.add( new ServerAddress( "localhost" );
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
credentials.add(
MongoCredential.createMongoCRCredential(
"app_user",
"data",
"bestPo55word3v3r".toCharArray()
)
);
MongoClient mongo = new MongoClient( seeds, credentials );