Spring MongoDB排序溢出
我的mongoDB中有300条记录,我使用以下代码进行查询:Spring MongoDB排序溢出,spring,mongodb,spring-data,spring-data-mongodb,Spring,Mongodb,Spring Data,Spring Data Mongodb,我的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"); 标准c=。。。; 查询q=新查询(c).
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");
标准c=。。。;
查询q=新查询(c).限制(10).跳过(跳过);
q=q.with(新排序(Sort.DEFAULT_DIRECTION.DESC,“fromDate”);
List results=mongoTemplate.find(q,Event.class,“Event”);
当skip=40时,此代码工作正常
但是,当skip=260时,我得到以下错误:
溢出排序阶段缓冲数据使用33564943字节超过33554432字节的内部限制强>
在对大量记录进行排序时,mongoDB似乎存在溢出问题。有人能建议如何处理这个问题吗 Mongodb对内存排序有32mb的限制:详情如下:
您应该为排序字段编制索引,这将解决此问题 谢谢你的建议!我们可以用@index设置注释多个字段吗?因为根据用户请求,我们需要按不同字段进行排序。(有时我们需要按日期排序…而在另一种情况下,我们需要按标题排序…等等)。是的,我相信这就是您正在寻找的。(除非您只需要创建多个单索引,这是非常好的做法)