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就解决!

时间: 2024-12-23 12:12:55

com.mongodb.MongoException$CursorNotFound: cursor not found on server异常处理的相关文章

spring-com.mongodb.MongoException

问题描述 com.mongodb.MongoException Exception in thread ""main"" org.springframework.data.mongodb.CannotGetMongoDbConnectionException: Failed to authenticate to database [products] username = [worker] password = [a*******6] at org.springfr

【MongoDB】5.MongoDB与java的简单结合

1.首先 你的清楚你的MongoDB的版本是多少  就下载对应的架包 下载地址如下: http://mongodb.github.io/mongo-java-driver/   2.新建一个项目  把架包扔进去,并Build path到你的项目下[如果用于测试,请如下 多用一个架包]   3.新建一个MongoConnection类 用来获取MongoDB的连接对象: 1 package com.mongo.util; 2 3 import java.util.ArrayList; 4 impo

Windows平台下安装MongoDB

MongoDB以其操作简单.完全免费.源码公开.随时下载等特点,被广泛应用于各种大型门户网站和专业网站,大大降低了运营成本.本文描述了在Widows平台下的安装步骤及其过程,供大家参考. 一.主要步骤 1.查看当前使用的Windows版本及架构 wmic os get caption wmic os get osarchitecture 2.下载对应的版本 http://www.mongodb.org/downloads 3.配置mongdb 创建存放数据文件的路径 md \data\db Yo

java连接mongodb的一个奇葩问题及奇葩解决方式

昨天在eclipse中编写代码,本来连接mongodb进行各项操作都是正常的,但是有一会儿突然之间就没法连接了,还一直抱错,错误如下: 信息: Cluster created with settings {hosts=[192.168.0.4:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500} 十一月 06, 2015 9:23:42

mongodb: Unable to connect to any server that matches

问题描述 mongodb: Unable to connect to any server that matches 使用MongoTemplate连接mongodb,但是insert方法的时候出现如下错误: 'Caused by: com.mongodb.MongoServerSelectionException: Unable to connect to any server that matches {serverSelectors=[ReadPreferenceServerSelecto

搭建高可用MongoDB集群(分片)

MongoDB基础请参考:http://blog.51cto.com/kaliarch/2044423 MongoDB(replica set)请参考:http://blog.51cto.com/kaliarch/2044618 一.概述 1.1 背景 为解决mongodb在replica set每个从节点上面的数据库均是对数据库的全量拷贝,从节点压力在高并发大数据量的场景下存在很大挑战,同时考虑到后期mongodb集群的在数据压力巨大时的扩展性,应对海量数据引出了分片机制. 1.2 分片概念

mongo Table类文件 获取MongoCursor(游标)的实现方法分析

MongoCursor Object 游标类 MongoConfig.php配置文件 Table.php(mongodb操作数据库类文件) Config.php配置文件 复制代码 代码如下: <?php require_once 'Zend/Exception.php'; class Hrs_Mongo_Config { const VERSION = '1.7.0'; const DEFAULT_HOST = 'localhost'; const DEFAULT_PORT = 27017; p

PHP实现搜索地理位置及计算两点地理位置间距离的实例_php实例

地理位置搜寻LBS,存储每个地点的经纬度坐标,搜寻附近的地点,建立地理位置索引可提高查询效率. mongodb地理位置索引,2d和2dsphere,对应平面和球面. 1.创建lbs集合存放地点坐标 use lbs; db.lbs.insert( { loc:{ type: "Point", coordinates: [113.332264, 23.156206] }, name: "广州东站" } ) db.lbs.insert( { loc:{ type: &qu

mongo Table类文件 获取MongoCursor(游标)的实现方法分析_php技巧

MongoCursor Object 游标类 MongoConfig.php配置文件Table.php(mongodb操作数据库类文件) Config.php配置文件 复制代码 代码如下: <?phprequire_once 'Zend/Exception.php';class Hrs_Mongo_Config{    const VERSION = '1.7.0';    const DEFAULT_HOST = 'localhost';    const DEFAULT_PORT = 270