Mongolab 身份验证失败 Java

Mongolab Authentication Failed Java

我正在尝试使用 Java 客户端连接到 MongoLab 数据库。但无法使用以下代码通过 Mongolab 服务器进行身份验证:

Mongo mongo = new Mongo("ds03456.mongolab.com", 51575);
DB db = mongo.getDB("sample");
boolean auth = db.authenticate("test", "test".toCharArray());

我尝试使用与 Node.js 相同的凭据并且它工作正常:

var server = new Server('ds03456.mongolab.com', 51575);
var db = new Db('sample', server);
db.open({
      client.authenticate('test', 'test', function(err, success){
        //success = true.
      })
});

可能的错误是什么?

Mongolab 正在使用 MongoDB 3.0+ 而您正在使用 2.0 已弃用 类 的版本进行身份验证。这应该有效:

MongoClientURI clientURI = new MongoClientURI("mongodb://user:pass@address:port/dbname");
MongoClient client = new MongoClient(clientURI);