我在版本 3 中使用 MongoDB,我创建了一个名为“logMonitor”的数据库并创建了一个用户,如:
{
"_id" : "logMonitor.log",
"user" : "log",
"db" : "logMonitor",
"roles" : [
{
"role" : "readWrite",
"db" : "logMonitor"
}
]
}
Run Code Online (Sandbox Code Playgroud)
当我使用用户“log”通过 shell 连接到数据库时,它返回success,就像这样:
[jboss@chonggouapp mongodb]$ mongo logMonitor -u "log" -p "log"
MongoDB 外壳版本:3.0.6
连接到:logMonitor
但是,使用以下代码通过 Java 连接失败。
ServerAddress addr = new ServerAddress("10.46.20.65", 27017);
MongoCredential credential = MongoCredential.createMongoCRCredential(
"log", "logMonitor", "log".toCharArray());
MongoClientOptions options = MongoClientOptions.builder()
.serverSelectionTimeout(1000)
.build();
MongoClient mongoClient = new MongoClient(addr, Arrays.asList(credential), options);
MongoDatabase db = mongoClient.getDatabase("logMonitor");
long c = db.getCollection("sysLog").count(); …Run Code Online (Sandbox Code Playgroud)