Cursor.hasNext抛出java.util.NoSuchElementException

时间:2017-02-04 09:58:21

标签: java mongodb mongodb-query

public String ForDate(String date) {
    MongoCursor<Document> cursor = collection.find(eq("date", date)).iterator();
    basicb b = new basicb();
    while (cursor.hasNext()) {
       b.setDepartament(cursor.next().getString("departament"));
       b.setText(cursor.next().getString("text"));
       b.setTitle(cursor.next().getString("title"));
       lista.add(b);
    }
}

我只想从mongodb信息中做对象,但是当我这样做时,得到一些对象,但总是返回errorjava.util.NoSuchElementException。

1 个答案:

答案 0 :(得分:1)

问题可能是你在一个循环中调用next方法三次。您应该调用它一次并将其结果存储在变量中,因为next检索迭代中的下一个元素

while (cursor.hasNext()) {
   Document element = cursor.next();
   b.setDepartament(element.getString("departament"));
   b.setText(element.getString("text"));
   b.setTitle(element.getString("title"));
   lista.add(b);
}