MongoClient::getHosts

Updates status for all associated hosts

&reftitle.description; public `array` `MongoClient::getHosts`

This method is only useful with a connection to a replica set. It returns the status of all of the hosts in the set. Without a replica set, it will just return an array with one element containing the host that you are connected to.

See the query section of this manual for information on distributing reads to secondaries.

&reftitle.parameters; &no.function.parameters;
&reftitle.returnvalues;

Returns an array of information about the hosts in the set. Includes each host's hostname, its health (1 is healthy), its state (1 is primary, 2 is secondary, 0 is anything else), the amount of time it took to ping the server, and when the last ping occurred. For example, on a three-member replica set, it might look something like:

    array(3) {
      ["A:27017"]=>
      array(4) {
        ["host"]=>
        "A"
        ["port"]=>
        27017
        ["health"]=>
        int(1)
        ["state"]=>
        int(2)
        ["ping"]=>
        int(369)
        ["lastPing"]=>
        int(1309470644)
      }
      ["B:27017"]=>
      array(4) {
        ["host"]=>
        "B"
        ["port"]=>
        27017
        ["health"]=>
        int(1)
        ["state"]=>
        int(1)
        ["ping"]=>
        int(139)
        ["lastPing"]=>
        int(1309470644)
      }
      ["C:27017"]=>
      array(4) {
        ["host"]=>
        "C"
        ["port"]=>
        27017
        ["health"]=>
        int(1)
        ["state"]=>
        int(2)
        ["ping"]=>
        int(1012)
        ["lastPing"]=>
        int(1309470644)
      }
    }

&reftitle.changelog;

&Version; | &Description;
1.2.10 | Support for non-replicasets was added. The returned array elements now also include the `hostname` and `port`.

&reftitle.seealso;

- `MongoClient::getConnections`