Du behøver ikke at ændre alle dine eksisterende forespørgsler, du skal kun ændre den logik, der etablerer din MongoClient. De fleste applikationer gør dette som en slags Singleton, så tilføjelse af autentificering er blot et spørgsmål om at ændre Singleton. Det er en smerte-in-the-butt, at der ikke er en signatur, der kun tager streng, streng for brugernavn adgangskode, men det er Mongo Java API, væn dig til skuffelse.
Du kan enten gå MongoURI-stien, som giver dig den korteste signatur...
MongoClient mongo = new MongoClient(
new MongoClientURI( "mongodb://app_user:[email protected]/data" )
);
Eller gå med den mere omfattende 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 );