Spring Boot中如何给MongoOperations.find方法添加allowDiskUse?
在Spring Boot MongoDB中为find查询添加allowDiskUse:true
不用把查询改成聚合,直接通过Spring Data MongoDB的Query对象就能设置allowDiskUse:true,具体操作如下:
修改你的代码
直接在Query构建链中调用allowDiskUse(true)方法即可:
Query query = new Query() .with(pageable) .addCriteria(criteria) .collation(collation) .allowDiskUse(true); // 新增这一行开启磁盘使用权限 mongoOperations.find(query, RuntimeApplication.class, RUNTIME_APP);
对应原生MongoDB写法
你找到的原生命令db.collection.find(<match>).sort(<sort>).allowDiskUse(),在Spring Data里就是通过Query.allowDiskUse()来实现的,底层会将这个参数传递给MongoDB驱动,和原生命令的效果完全一致。
注意点
- 该方法从Spring Data MongoDB 2.0版本开始提供,如果你的项目依赖版本较低,需要先升级Spring Data相关依赖。
- 仅当查询的排序、分组等操作内存占用超出MongoDB默认限制(通常为100MB)时,才需要开启此选项,普通小查询无需启用。
内容的提问来源于stack exchange,提问作者Mahantesh
相关产品推荐
相关产品推荐

