介绍
小编给大家分享一下解决mongodb中那种超过最大限制的方法,相信大部分人都还不怎么了解,因此分享这边文章给大家学习,希望大家阅读完这篇文章后大所收获、下面让我们一起去学习方法吧!
<强>问题描述强>
当我对一个没有建索引的字段做发现,然后做排序的时候,可能触发的大小来排序的32 mb限制,例如:
db.getCollection(& # 39;酒店# 39;);({“time_stamp": {“lte"美元:1485878400}}).sort ({“time_stamp": 1})
错误如下:
错误:,错误:,{ “美元err",:,“Executor 错误:,Overflow sort stage buffered data usage of 33558548, bytes exceeds internal limit of 33554432, bytes", “code":, 17144 }
<>强两种解决方法强>
解决方法一:对需要排序的字段建索引
db.stotal.ensureIndex({& # 39;类型# 39;:,1})
解决方法二:修改默认配置,把排序时可以用的内存设置大点:
db.adminCommand ({setParameter: 1, internalQueryExecMaxBlockingSortBytes: 335544320})
<强>这两种解决方法各有利弊:强>
方法一:增加了索引会导致数据写入变慢,存储占用变多;
方法二:不建索引修改默认配置,会导致排序的时候占用更多的内存。
以上是解决mongodb中那种超过最大限制的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!