Mongodb: Sort operation used more than the maximum 33554432 bytes of RAM


1    mongo 查询数据进行分页,某些情况或者某些需求利用skip 和 limit 过滤数据,可以避免上述错误。然而此方法在数据容量小的情况下没什么问题,但是数据量庞大,上述方法可能也不一定好使。


mongo 的 sort 是在内存中操作,mongo 的一个机制限制排序时最大内存为 32M,超过则会报错

db.collection.find().sort({'key':-1}).limit(5)

db.collection.distinct('key')


2 利用索引的创建来避免此错误是比较合理的选择 

db.collection.createIndex({"key": -1}) --此处 -1 代表倒序,1 代表正序