This version of the documentation is archived and no longer supported.


On this page


sh.startBalancer(timeout, interval)

Changed in version 4.2.

Starts the balancer in a sharded cluster. Starting in MongoDB 4.2, sh.startBalancer() also enables auto-splitting for the sharded cluster.


mongo Shell Method

This page documents a mongo method. This is not the documentation for database commands or language-specific drivers, such as Node.js. To use the database command, see the balancerStart command.

For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.

The method can take the following options:

Parameter Type Description
timeout integer

Optional. Time limit for enabling the balancer.

Defaults to 60000 milliseconds.

Changed in version 3.4: If using the 3.4 mongo shell with earlier version sharded clusters, the parameter specifies the amount of time to wait for the balancing round to start.

interval integer

Optional. The frequency (in milliseconds) at which to check if a balancing round has started.

Changed in version 3.4: Only applicable when using version 3.4 mongo shell with earlier version sharded clusters.s

You can only run sh.startBalancer() on a mongos instance. sh.startBalancer() errors if run on mongod instance.


Starting in MongoDB 3.4, the mongo shell method sh.startBalancer() is a wrapper around the balancerStart command. As such, the method does not wait for balancing to start.

In earlier versions, the method waited for the balancing to start.