Java与MongoDb IP连接问题

时间:2013-11-26 18:35:36

标签: java mongodb

我编写了一个Java程序来连接MongoDb并将一些数据写入其中。例如,我在192.168.1.95上设置MongoDb并在该服务器上运行我的程序。当我使用以下代码时:

MongoClient mongo = new MongoClient("localhost", 27017);

这是有效的,没有任何问题。但是,如果我使用

MongoClient mongo = new MongoClient("192.168.1.95", 27017); 

它总是给我一个例外:

Exception in thread "main" com.mongodb.MongoException: unauthorized
at com.mongodb.CommandResult.getException(CommandResult.java:100)
at com.mongodb.CommandResult.throwOnError(CommandResult.java:134)
at com.mongodb.DBTCPConnector._checkWriteError(DBTCPConnector.java:142)
at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:183)
at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:155)
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:270)
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:226)
at com.mongodb.DBCollection.insert(DBCollection.java:75)
at com.mongodb.DBCollection.insert(DBCollection.java:59)
at com.mongodb.DBCollection.insert(DBCollection.java:104)
at com.starscriber.mongoCluster.Main.main(Main.java:29)

为什么我不能使用完全Ip而不是“localhost”?而且我很确定我不需要任何用户名和密码来登录MongoDb

1 个答案:

答案 0 :(得分:0)

在MongoDB服务器配置中听起来像auth = true。如果是这样,您需要首次通过localhost接口连接来登录服务器以创建用户凭据。有关详细信息,请参阅MongoDB手册的Run-time Database Configuration页面中的“安全注意事项”部分