Docker下mongodb容器查询数据量超过限制的解决办法

问题:mongodb进行数据查询时报异常 【Docker下mongodb容器查询数据量超过限制的解决办法】主要异常信息

Query failed with error code 96 and error message 'Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit.' on server 127.0.0.1:27017

根据错误信息描述,发现是因为获取数据并排序时,所获取的数据量超过量mongodb数据库的默认限制32M。
解决方法:
  1. 直接到docker mongodb容器下修改mongodb的配置文件——失败
    直接到对应的容器下修改mongodb的配置,理论上可行,但是修改完成后重启容器服务,配置不生效。
  2. 进入mongodb数据服务,使用admin账户对配置进行修改,执行以下语句进行修改——成功
db.adminCommand({setParameter:1, internalQueryExecMaxBlockingSortBytes:335544320})

这里将原来的32M更改为320M,修改后调用接口,测试成功!!

    推荐阅读