使用Java的MongoDB,无法获取集合
我正在与MongoDB启动一个项目。 我有我的数据库:使用Java的MongoDB,无法获取集合,java,exception,mongodb,Java,Exception,Mongodb,我正在与MongoDB启动一个项目。 我有我的数据库: mongo=null; try { mongo = new Mongo(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MongoException e) { // TODO Auto-genera
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
我想显示特定集合的所有元素(在滚动窗格中,但这对问题并不重要)。集合最初不存在,因为数据库“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...
}
dbcursorcur=db.getCollection(“newcollection”).find()//如果集合不存在,则此时应创建集合。
而(cur.hasNext()){/您可以在打印之前检查集合是否存在
db.collectionExists("coll_name")
如果不是,你可以创建它,或者确保一些索引-它会自动创建它
我通常在spring启动时执行此类操作(例如@PostConstruct)我的感觉是您的数据库根本没有运行。您是否可以尝试使用“mongo”从命令行连接到数据库,并验证它是否已启动并运行
db.collectionExists("coll_name")