SpringMongoDB排序溢出
Spring MongoDB sorting overflow
我的 mongoDB 中有 300 条记录,我使用以下代码进行查询:
Criteria c = ...;
Query q = new Query(c).limit(10).skip(skip);
q = q.with(new Sort(Sort.DEFAULT_DIRECTION.DESC,"fromDate"));
List<Event> results = mongoTemplate.find(q, Event.class, "Event");
当 skip = 40 时,这段代码工作正常。
但是,当 skip = 260 时,出现以下错误:
33564943 字节的溢出排序阶段缓冲数据使用超过了 33554432 字节的内部限制;
似乎mongoDB在对大量记录进行排序时出现溢出问题。谁能建议如何处理这个问题?
Mongodb 对内存排序有 32mb 的限制:此处有详细信息:
您应该为您的排序字段编制索引,这将解决问题。
我的 mongoDB 中有 300 条记录,我使用以下代码进行查询:
Criteria c = ...;
Query q = new Query(c).limit(10).skip(skip);
q = q.with(new Sort(Sort.DEFAULT_DIRECTION.DESC,"fromDate"));
List<Event> results = mongoTemplate.find(q, Event.class, "Event");
当 skip = 40 时,这段代码工作正常。
但是,当 skip = 260 时,出现以下错误:
33564943 字节的溢出排序阶段缓冲数据使用超过了 33554432 字节的内部限制;
似乎mongoDB在对大量记录进行排序时出现溢出问题。谁能建议如何处理这个问题?
Mongodb 对内存排序有 32mb 的限制:此处有详细信息:
您应该为您的排序字段编制索引,这将解决问题。