调取大量文件并进行排序时,MongoDB报错,超出内存使用范围,报错信息如下:
mongo排序默认的最大内存限制为100m,超出这个限制就会报错。所以查询时查询的字段过多,查询的数据量过大等情况导致排序缓存超出限制会产生这样的问题。
增大内存指令:
进入MongoDB后
use admin
# 设置
db.adminCommand({setParameter:1, internalQueryMaxBlockingSortMemoryUsageBytes:209715200})
# 查询
db.adminCommand({getParameter:1, internalQueryMaxBlockingSortMemoryUsageBytes:1})
设置排序内存大小时单位是byte,字节转换连接
注意,设置排序内存时,会有返回结果,但是设置时返回的结果为上一次的设置结果,如果想获取当前的结果,请使用查询语句进行查询。