10

我在 mongolab 中创建了一个 mongodb 实例,它为我提供了一个连接 URI。

   mongodb://<dbuser>:<dbpassword>@ds041177.mongolab.com:41177/myclouddb

我使用以下 java 代码连接到我的数据库-

      Mongo m = new Mongo();
     com.mongodb.DBAddress dba=new DBAddress("mongodb://admin:password@ds041177.mongolab.com:41177/myclouddb");
        m.connect(dba);

但这会引发 NumberFormatException

   java.lang.NumberFormatException: For input string: ""

我究竟做错了什么?

4

1 回答 1

21

那是一个 MongoDB URI。

与其将其传递给 a ,不如将其DBAddress传递给 aMongoURI然后将其传递给Mongo实例。

String textUri = "mongodb://admin:password@ds041177.mongolab.com:41177/myclouddb";
MongoURI uri = new MongoURI(textUri);
Mongo m = new Mongo(uri);

您还应该考虑升级到最新的驱动程序并切换到MongoClient该类,因为Mongo该类现已弃用。

String textUri = "mongodb://admin:password@ds041177.mongolab.com:41177/myclouddb";
MongoClientURI uri = new MongoClientURI(textUri);
MongoClient m = new MongoClient(uri);
于 2013-02-24T15:31:34.803 回答