我正在使用 MongoDB 开始一个项目。我有我的数据库:
mongo=null;
try {
mongo = new Mongo();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MongoException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db = mongo.getDB( "mydb" );
System.out.print(db.getName());//just a test
我想显示特定集合的所有元素(在 scrollPane 中,但这对问题并不重要)。该集合最初不存在,因为数据库“mydb”为空。这是我的代码:
DBCursor cur = db.getCollection("newcollection").find();//collection should be created at this point, if it doesnt exist.
while(cur.hasNext()) { //<----exception caused here
//do something with cursor...
}
即使最初集合是空的,在进一步使用应用程序元素时也会添加,所以我需要从应用程序启动时开始搜索它以填充我的 scrollPane。
这是堆栈跟踪:
java.io.IOException: couldn't connect to [/127.0.0.1:27017] bc:java.net.ConnectException: Connection refused: connect
at com.mongodb.DBPort._open(DBPort.java:222)
at com.mongodb.DBPort.go(DBPort.java:111)
at com.mongodb.DBPort.call(DBPort.java:78)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:217)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:313)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:298)
at com.mongodb.DBCursor._check(DBCursor.java:369)
at com.mongodb.DBCursor._hasNext(DBCursor.java:492)
at com.mongodb.DBCursor.hasNext(DBCursor.java:517)
at MainFrame$MyPanel.<init>(MainFrame.java:120)//<----cur.hasNext()
任何想法我做错了什么?