Mongo Db Java查询中的运行时异常
我是java新手。 我正在使用JavaMongoDB在WindowBuilder中进行搜索 当我执行下面的代码时,我得到运行时异常错误Mongo Db Java查询中的运行时异常,java,mongodb,runtimeexception,windowbuilder,Java,Mongodb,Runtimeexception,Windowbuilder,我是java新手。 我正在使用JavaMongoDB在WindowBuilder中进行搜索 当我执行下面的代码时,我得到运行时异常错误 try{ // To connect to mongodb server MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); // Now connect to your databases DB db = mongoClient.get
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( "Ticket" );
System.out.println("Connect to database successfully");
DBCollection coll = db.getCollection("OnlineT");
System.out.println("Collection created successfully");
F_stn = (String)fm.getSelectedItem();
T_stn = (String)to.getSelectedItem();
BasicDBObject doc = new BasicDBObject("From",F_stn);
BasicDBObject doc1 = new BasicDBObject("To",T_stn);
DBCursor ser = coll.find(doc);
DBCursor ser2 = coll.find(doc1);
while(ser.hasNext())
{
String data=ser.next().get("To").toString();
System.out.println(data);
if(data.equals(T_stn))
{
System.out.println("i m in");
String dis=ser.next().toString();
System.out.println(dis);
break;
}
else
System.out.println("No data found");
}
}
它工作正常,但是当它进入if循环时,它没有打印DBobject
请给我建议一些方法。提前感谢。在“如果”循环中,您有:
字符串dis=ser.next().toString()
这会使光标移动到下一个位置,但未选中hasNext()。我认为这就是问题所在
相反,您可以执行以下操作:
while(ser.hasNext()){
DBObject dbObject = ser.next();
String data=dbObject.get("To").toString();
System.out.println(data);
if(data.equals(T_stn))
{
System.out.println("i m in");
System.out.println(dbObject);
break;
}
else
System.out.println("No data found");
另外,打印时不需要toString(),println()会自动调用对象的toString()方法可以发布日志吗?显示完整的堆栈跟踪。我们不是通灵者。谢谢你,先生。我弄错了。@user3462650如果对你有帮助的话,别忘了接受答案:)