com.mongodb.MongoException$CursorNotFound: cursor not found on server异常处理

java链接MongoDB处理大量数据时经常碰到cursor not found 的异常,其实是超时所致


Exception in thread "main" com.mongodb.MongoException$CursorNotFound: cursor not found on server
        at com.mongodb.DBApiLayer$Result.init(DBApiLayer.java:379)
        at com.mongodb.DBApiLayer$Result._advance(DBApiLayer.java:426)
        at com.mongodb.DBApiLayer$Result.hasNext(DBApiLayer.java:408)
        at com.mongodb.DBCursor._hasNext(DBCursor.java:495)
        at com.mongodb.DBCursor.hasNext(DBCursor.java:515)


在国内论坛上转了一圈,解决方法说的不知所云,其实解决方法很简单:
            DBCursor cursor = collection.find(condtion);
                 cursor.addOption(com.mongodb.Bytes.QUERYOPTION_NOTIMEOUT);

只要在查询的DBCursor添加com.mongodb.Bytes.QUERYOPTION_NOTIMEOUT就解决!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。