@@ -55,4 +55,53 @@ code also uses the ``server_api`` field to specify a {+stable-api+} version.
55
55
.. literalinclude:: /includes/fundamentals/code-snippets/srv.go
56
56
:language: go
57
57
58
+ Local Deployments
59
+ -----------------
58
60
61
+ .. include:: /includes/localhost-connection.rst
62
+
63
+ Replica Set
64
+ -----------
65
+
66
+ A MongoDB replica set deployment is a group of connected instances that
67
+ store the same set of data. This configuration provides data
68
+ redundancy and high data availability.
69
+
70
+ To connect to a replica set deployment, specify the hostname and port numbers
71
+ of each instance, separated by commas, and the replica set name as the value
72
+ of the ``replicaSet`` parameter in the connection string. In the following
73
+ example, the hostnames are ``host1``, ``host2``, and ``host3``, and the
74
+ port numbers are all ``27017``. The replica set name is ``myRS``.
75
+
76
+ .. code-block:: none
77
+
78
+ mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myRS
79
+
80
+ When connecting to a replica set, the driver takes the following actions by default:
81
+
82
+ - Discovers all replica set members when given the address of any one member.
83
+ - Dispatches operations to the appropriate member, such as instructions
84
+ to write against the **primary**.
85
+
86
+ .. tip::
87
+
88
+ You can specify just one host to connect to a replica set.
89
+ However, to ensure connectivity when the specified host
90
+ is unavailable, you should provide the full list of hosts.
91
+
92
+ Direct Connection
93
+ `````````````````
94
+
95
+ To force operations on the host designated in the connection URI,
96
+ specify the ``directConnection`` option. Direct connections exhibit the
97
+ following behavior:
98
+
99
+ - They don't support SRV strings.
100
+ - They fail on writes when the specified host is not the **primary**.
101
+ - They require you to specify a :manual:`secondary read preference
102
+ </core/read-preference/#mongodb-readmode-secondary>` when the
103
+ specified host isn't the **primary** node.
104
+
105
+ .. note:: Replica Set in Docker
106
+
107
+ .. sharedinclude:: dbx/docker-replica-set.rst
0 commit comments