7
私はmongodbを使用してユーザーの情報を格納しています。 私は、dbから情報を取得し、Playerオブジェクトを作成し、それらをPlayerの配列に挿入するメソッドを作成したかったのです。 mongodbカーソル例外 - Java
この
は私がDBに保存されている4人のユーザーがいると、私は「ときに最初メソッドを呼び出した後、私は例外を取得していますたとえば、名前を印刷しようとmは、以下の方法public ArrayList<Player> getArrayOfPlayers(){
ArrayList<Player> savePlayers = new ArrayList<Player>();
DB db = connectToMongo();
DBCollection coll = db.getCollection("players");
DBCursor cursor = coll.find();
while(cursor.hasNext()) {
String tempName = (String)cursor.next().get("name");
String tempSession = (String)cursor.next().get("session");
String tempStringScore = (String)cursor.next().get("score");
int tempScore = Integer.parseInt(tempStringScore);
Player player = new Player(tempName,tempSession,tempScore);
savePlayers.add(player);
}
return savePlayers;
}
です。 メソッドの外側でtry-catchを使いましたが、例外をキャッチしましたが、最初のユーザーの名前しか表示されませんでした。これは、2番目の反復で例外をスローするようです。
私が受け取っていることを除いて、ここにメッセージがあります。
java.lang.RuntimeException: no more
com.mongodb.DBApiLayer$Result.next(DBApiLayer.java:394)
com.mongodb.DBApiLayer$Result.next(DBApiLayer.java:360)
com.mongodb.DBCursor._next(DBCursor.java:445)
com.mongodb.DBCursor.next(DBCursor.java:525)
machine.DAOMongodb.getArrayOfPlayers(DAOMongodb.java:74)
machine.testDB.doGet(testDB.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
チャームのように働きました!ありがとう! –