【发布时间】:2014-10-02 12:18:15
【问题描述】:
我正在努力解决这个问题。我的代码在cursor.hasNext(); 上抛出异常
MongoClient mongoClient = new MongoClient();
DB db = mongoClient.getDB("DBname");
DBCollection coll = db.getCollection("ColName");
DBObject orderBy = new BasicDBObject();
orderBy.put("'field.subfield1.subfield2'", -1);
DBCursor cursor = coll.find().sort(orderBy);
...
cursor.hasNext();
例外: 线程“main”com.mongodb.MongoException 中的异常:运行器错误:溢出排序阶段缓冲数据使用量 33571128 字节超出内部限制 33554432 字节
当我在数据库控制台中使用类似的查询时,它工作得很好。当我添加搜索查询时,它不会抛出异常,也不会返回任何结果。
代码有什么问题?我只需要带有排序文档的光标。
【问题讨论】:
-
索引该字段。但真正向您展示实际的文档结构。如果这是任何形式的数组,那么它不会做你认为它可能做的事情。
标签: java mongodb sorting cursor