使用mongodb 2.6。从Java开始,我将查看密钥列表并为每个密钥生成一堆统计信息,包括对Mongo(在远程服务器上)的一些查询。当我生成每个密钥的统计信息时,我将其写入文件,因此我本地没有内存不足。在运行的某个时刻(它每次都会改变),代码会挂起看似完全无害的东西 - 在下面的代码中检查curs.hasNext()。查询有点慢,但它似乎运行得很好,直到某个变量点,当它不再存在时。
BasicDBObject idMatch = new BasicDBObject(Constants.USER_ID_STR, userid);
// get the earliest tweet
DBCursor curs = this.tweetsCollection.find(idMatch).sort(new BasicDBObject(Constants.TWEETED_AT_STR, Constants.ASCENDING_SORT_FLAG)).limit(1);
Date theDate = null;
if (curs.hasNext()){
DBObject obj = curs.next();
theDate = (Date) obj.get(Constants.TWEETED_AT_STR);
}
return theDate;