Description
- sh.setBalancerState(state)
- Enables or disables the balancer. - Starting in MongoDB 6.0.3, automatic chunk splitting is not performed. This is because of balancing policy improvements. Auto-splitting commands still exist, but do not perform an operation. - In MongoDB versions earlier than 6.0.3, - sh.setBalancerState()also enables auto-splitting if enabling the balancer and disables auto-splitting if disabling the balancer.- Use - sh.getBalancerState()to determine if the balancer is currently enabled or disabled and- sh.isBalancerRunning()to check its current state.- Important- mongosh Method- This page documents a - mongoshmethod. This is not the documentation for database commands or language-specific drivers, such as Node.js.- For the database command, see the - balancerStartand- balancerStopcommands.- For MongoDB API drivers, refer to the language-specific MongoDB driver documentation. - Important- You can only run - sh.setBalancerState()on a- mongosinstance.- sh.setBalancerState()errors if run on- mongodinstance.- The - sh.setBalancerState()method has the following parameter:ParameterTypeDescription- state- boolean - Set this to - trueto enable the balancer and- falseto disable it.- Leaving the balancer disabled for extended periods of time can lead to unbalanced shards, which degrade cluster performance. Only disable the balancer if necessary, and ensure that you re-enable the balancer when maintenance is complete. 
Compatibility
This method is available in deployments hosted in the following environments:
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud 
Important
This command is not supported in M0 and Flex clusters. For more information, see Unsupported Commands.
- MongoDB Enterprise: The subscription-based, self-managed version of MongoDB 
- MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB