1. 程式人生 > >com.mongodb.MongoCursorNotFoundException解決方案

com.mongodb.MongoCursorNotFoundException解決方案

Exception in thread "main" com.mongodb.MongoCursorNotFoundException: 

 Query failed with error code -5 and error message 'Cursor 85789014536 not found on server ****:*' on server *:*

解決方案: DBCursor cursor = mongoTemplate.getCollection("people")

                    .find(new BasicDBObject(), keys)

                    .addOption(Bytes.QUERYOPTION_NOTIMEOUT);

   這樣的話在返回的cursor中可以將其轉成people物件,然後只有name和age這兩個欄位有值,

   其他的一些資訊比如說weight,sex等就都為null。使用起來是不是很方便。
注意了!!!

       最後的 .addOption(Bytes.QUERYOPTION_NOTIMEOUT) 是為了讓這個遊標不超時,

       如果你的資料集比較大你處理的時間比較長時就需要指定這個,否則會中途就突然斷掉,

       因為超時被回收了,使用這個就一定要注意使用的最後一定要呼叫close()函式進行關閉,

      否則將一直佔用系統資源。