Du ska inte behöva ändra alla dina befintliga frågor, du ska bara behöva ändra logiken som etablerar din MongoClient. De flesta applikationer gör detta som någon sorts Singleton så att lägga till autentisering är bara en fråga om att modifiera Singleton. Det är jobbigt att det inte finns en signatur som bara tar sträng, sträng för användarnamn lösenord, men det är Mongo Java API, vänja dig vid besvikelse.
Du kan antingen gå MongoURI-vägen som ger dig den kortaste signaturen...
MongoClient mongo = new MongoClient(
new MongoClientURI( "mongodb://app_user:[email protected]/data" )
);
Eller gå med den mer utförliga 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 );