Você não precisa alterar todas as suas consultas existentes, você só precisa alterar a lógica que estabelece seu MongoClient. A maioria dos aplicativos faz isso como algum tipo de Singleton, portanto, adicionar autenticação é apenas uma questão de modificar o Singleton. É uma dor na bunda que não há uma assinatura que leva apenas String, String para senha de nome de usuário, mas é a API Mongo Java, se acostume com a decepção.
Você pode seguir o caminho MongoURI que lhe dá a assinatura mais curta ...
MongoClient mongo = new MongoClient(
new MongoClientURI( "mongodb://app_user:[email protected]/data" )
);
Ou vá com o caminho 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 );