/ / Benutzername mit Passwort in MongoDB kann nicht mit Java authentifiziert werden - Java, Mongodb

Benutzername kann nicht mit Kennwort in MongoDB mit Java-java, mongodb authentifiziert werden

Ich bin neu in Mongodb und ich habe einen Bug inAuthentifizierung des Benutzernamens und des Passworts in Mongodb mit Java. Kann mir jemand den richtigen Quellcode sagen, um Mongodb mit Java zu verbinden? Zur Zeit habe ich einen Fehler in getdb

import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;

public class Javamongodbconnection {
public static void main( String args[] ) {
try{

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
DB db = mongoClient.getDB( "company" );
System.out.println("Connect to database successfully");
boolean auth = authenticate("Dell", "syzygy");
System.out.println("Authentication: "+auth);

} catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}

Antworten:

0 für die Antwort № 1

Sie müssen die Anmeldeinformationen übergeben, bevor Sie versuchen, DB zu erhalten ...

private void main() {
try {
ArrayList<MongoCredential> credentials = new ArrayList<>();
credentials.add(MongoCredential.createCredential("username", "company", "password".toCharArray()));

MongoClient mongoClient = new MongoClient(new ServerAddress("localhost", 27017), credentials);
DB db = mongoClient.getDB("company");
System.out.println("Connect to database successfully");
//boolean auth = authenticate("Dell", "syzygy");
//System.out.println("Authentication: "+auth);
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
}