【问题标题】:Cursor.hasNext throws java.util.NoSuchElementExceptionCursor.hasNext 抛出 java.util.NoSuchElementException
【发布时间】:2017-02-04 09:58:20
【问题描述】:
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 信息中创建对象,但是当我执行此方法时,会生成一些对象,但总是返回错误 java.util.NoSuchElementException。

【问题讨论】:

    标签: java mongodb mongodb-query


    【解决方案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);
    }
    

    【讨论】:

    • 感谢您的回答,我正在尝试 declate Type 但需要导入,我应该导入什么?出现一个大名单xD
    • by Type 我的意思是光标中元素的类型 - Document
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2017-03-11
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    相关资源
    最近更新 更多