U hoeft niet al uw bestaande query's te wijzigen, u hoeft alleen de logica te wijzigen die uw MongoClient tot stand brengt. De meeste applicaties doen dit als een soort Singleton, dus het toevoegen van authenticatie is slechts een kwestie van het aanpassen van de Singleton. Het is vervelend dat er geen handtekening is die alleen String, String voor gebruikersnaamwachtwoord nodig heeft, maar het is de Mongo Java API, wen aan teleurstelling.
Je kunt ofwel het MongoURI-pad volgen waarmee je de kortste handtekening krijgt...
MongoClient mongo = new MongoClient(
new MongoClientURI( "mongodb://app_user:[email protected]/data" )
);
Of gebruik het meer uitgebreide 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 );