现象:

返回json报错:

{
  code: 96 ,
  codeName: "OperationFailed" ,
  name: "MongoError"
}

原因:

mongodb用于排序的内存上限为32M,当一次排序的数据集超过32M的时候就会报这个错。

解决办法:

 1、db.adminCommand({setParameter: 1,internalQueryExecMaxBlockingSortBytes: xxxx}),xxxx的取值为自己想要的内存上限,比如,256M=256*1024*1024=268435456。此命令即时生效,不过,要注意的是,当MongoDB重启时,如果配置文件中未显示设置,则会恢复默认的32M。
 2、修改/etc/mongod.conf,添加如下内容,确保重启之后不会恢复到默认值:

setParameter:
internalQueryExecMaxBlockingSortBytes: 268435456

参考链接:
https://blog.sina.com.cn/s/bl...


sourcenode
307 声望29 粉丝

以少聚多,持之以恒!


« 上一篇
重启 mongodb