我在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: ""
我做错了什么?
答案 0 :(得分:20)
这是一个MongoDB URI。
不是将其传递给DBAddress
,而是将其传递给MongoURI
,然后将其传递给Mongo
实例。
String textUri = "mongodb://admin:password@ds041177.mongolab.com:41177/myclouddb";
MongoURI uri = new MongoURI(textUri);
Mongo m = new Mongo(uri);
您还应考虑升级到latest驱动程序并切换到MongoClient
类,因为Mongo
类现已弃用。
String textUri = "mongodb://admin:password@ds041177.mongolab.com:41177/myclouddb";
MongoClientURI uri = new MongoClientURI(textUri);
MongoClient m = new MongoClient(uri);