こんにちは、私はjavaとmongoDBでいくつかの実験をしています。私は正常にmongoDBをインストールし、コマンドラインを介して接続することができます。しかし、私はjavaを介して接続しようとすると、それは私に認証のエラーを与える。Java mongo db authentication failed
[email protected]:~$ mongo -u admin -p admin123 --authenticationDatabase admin
MongoDB shell version: 3.2.9
connecting to: test
Server has startup warnings:
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten]
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten]
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten]
>
とJavaコードを通して:私は、次のように試してみました
package mongo;
import java.net.UnknownHostException;
import java.util.Date;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
/**
* Java + MongoDB Hello world Example
*
*/
public class App {
public static void main(String[] args) {
try {
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("testdb");
boolean auth = db.authenticate("admin", "admin123".toCharArray());
if (auth) {
System.out.println("Login is successful!");
} else {
System.out.println("Login is failed!");
}
System.out.println("Done");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}
とそれに対する結果だ:何か問題が
Login is failed!
Done
ありますか?助けが要る。ありがとうございました。
Y ouはMongo Java driver v2の構文を使用しています。 Mongo3構文(MongoClientとMongoCredentials)へのより良い切り替え:http://mongodb.github.io/mongo-java-driver/3.0/driver/reference/connecting/authenticating/ http://www.programcreek.com/java-api -examples/index.php?api = com.mongodb.MongoCredential – Robert
testdbが間違っている、テストする必要があります。試してみてください、これが助けてくれれば教えてください – harshavmb