topology_description – An object representation of a deployment of MongoDB servers.

Represent a deployment of MongoDB servers.

class pymongo.topology_description.TopologyDescription

Representation of a deployment of MongoDB servers.

Parameters:
  • topology_type: initial type
  • server_descriptions: dict of (address, ServerDescription) for all seeds
  • replica_set_name: replica set name or None
  • max_set_version: greatest setVersion seen from a primary, or None
  • max_election_id: greatest electionId seen from a primary, or None
  • topology_settings: a TopologySettings
check_compatible()

Raise ConfigurationError if any server is incompatible.

A server is incompatible if its wire protocol version range does not overlap with PyMongo’s.

common_wire_version

Minimum of all servers’ max wire versions, or None.

has_known_servers

Whether there are any Servers of types besides Unknown.

has_readable_server(read_preference=Primary())

Does this topology have any readable servers available matching the given read preference?

Parameters:

Note

When connected directly to a single server this method always returns True.

New in version 3.4.

has_writable_server()

Does this topology have a writable server available?

Note

When connected directly to a single server this method always returns True.

New in version 3.4.

known_servers

List of Servers of types besides Unknown.

logical_session_timeout_minutes

Minimum logical session timeout, or None.

max_election_id

Greatest electionId seen from a primary, or None.

max_set_version

Greatest setVersion seen from a primary, or None.

readable_servers

List of readable Servers.

replica_set_name

The replica set name.

reset()

A copy of this description, with all servers marked Unknown.

reset_server(address)

A copy of this description, with one server marked Unknown.

server_descriptions()

Dict of (address, ServerDescription).

topology_type

The type of this topology.

topology_type_name

The topology type as a human readable string.

New in version 3.4.