mongo_replica_set_client
– Tools for connecting to a MongoDB replica set¶
Deprecated. See High Availability and PyMongo.
-
class
pymongo.mongo_replica_set_client.
MongoReplicaSetClient
(hosts_or_uri, document_class=dict, tz_aware=False, connect=True, **kwargs)¶ Deprecated alias for
MongoClient
.MongoReplicaSetClient
will be removed in a future version of PyMongo.Changed in version 3.0:
MongoClient
is now the one and only client class for a standalone server, mongos, or replica set. It includes the functionality that had been split intoMongoReplicaSetClient
: it can connect to a replica set, discover all its members, and monitor the set for stepdowns, elections, and reconfigs.The
refresh
method is removed fromMongoReplicaSetClient
, as are theseeds
andhosts
properties.-
close
()¶ Disconnect from MongoDB.
Close all sockets in the connection pools and stop the monitor threads. If this instance is used again it will be automatically re-opened and the threads restarted.
-
c[db_name] || c.db_name
Get the db_name
Database
onMongoReplicaSetClient
c.Raises
InvalidName
if an invalid database name is used.
-
primary
¶ The (host, port) of the current primary of the replica set.
Returns
None
if this client is not connected to a replica set, there is no primary, or this client was created without the replicaSet option.New in version 3.0: MongoClient gained this property in version 3.0 when MongoReplicaSetClient’s functionality was merged in.
-
secondaries
¶ The secondary members known to this client.
A sequence of (host, port) pairs. Empty if this client is not connected to a replica set, there are no visible secondaries, or this client was created without the replicaSet option.
New in version 3.0: MongoClient gained this property in version 3.0 when MongoReplicaSetClient’s functionality was merged in.
-
arbiters
¶ Arbiters in the replica set.
A sequence of (host, port) pairs. Empty if this client is not connected to a replica set, there are no arbiters, or this client was created without the replicaSet option.
-
max_pool_size
¶ The maximum number of sockets the pool will open concurrently.
When the pool has reached max_pool_size, operations block waiting for a socket to be returned to the pool. If
waitQueueTimeoutMS
is set, a blocked operation will raiseConnectionFailure
after a timeout. By defaultwaitQueueTimeoutMS
is not set.
-
max_bson_size
¶ The largest BSON object the connected server accepts in bytes.
Defaults to 16MB if not connected to a server.
-
max_message_size
¶ The largest message the connected server accepts in bytes.
Defaults to 32MB if not connected to a server.
-
local_threshold_ms
¶ The local threshold for this instance.
-
codec_options
¶ Read only access to the
CodecOptions
of this instance.
-
read_preference
¶ Read only access to the read preference of this instance.
Changed in version 3.0: The
read_preference
attribute is now read only.
-
write_concern
¶ Read only access to the
WriteConcern
of this instance.Changed in version 3.0: The
write_concern
attribute is now read only.
-
database_names
()¶ Get a list of the names of all databases on the connected server.
-
drop_database
(name_or_database)¶ Drop a database.
Raises
TypeError
if name_or_database is not an instance ofbasestring
(str
in python 3) orDatabase
.Parameters: - name_or_database: the name of a database to drop, or a
Database
instance representing the database to drop
- name_or_database: the name of a database to drop, or a
-
get_default_database
()¶ Get the database named in the MongoDB connection URI.
>>> uri = 'mongodb://host/my_database' >>> client = MongoClient(uri) >>> db = client.get_default_database() >>> assert db.name == 'my_database'
Useful in scripts where you want to choose which database to use based only on the URI in a configuration file.
-
get_database
(name, codec_options=None, read_preference=None, write_concern=None)¶ Get a
Database
with the given name and options.Useful for creating a
Database
with different codec options, read preference, and/or write concern from thisMongoClient
.>>> client.read_preference Primary() >>> db1 = client.test >>> db1.read_preference Primary() >>> from pymongo import ReadPreference >>> db2 = client.get_database( ... 'test', read_preference=ReadPreference.SECONDARY) >>> db2.read_preference Secondary(tag_sets=None)
Parameters: - name: The name of the database - a string.
- codec_options (optional): An instance of
CodecOptions
. IfNone
(the default) thecodec_options
of thisMongoClient
is used. - read_preference (optional): The read preference to use. If
None
(the default) theread_preference
of thisMongoClient
is used. Seeread_preferences
for options. - write_concern (optional): An instance of
WriteConcern
. IfNone
(the default) thewrite_concern
of thisMongoClient
is used.
-
close_cursor
(cursor_id, address=None)¶ Close a single database cursor.
Raises
TypeError
if cursor_id is not an instance of(int, long)
. What closing the cursor actually means depends on this client’s cursor manager.Parameters: - cursor_id: id of cursor to close
- address (optional): (host, port) pair of the cursor’s server. If it is not provided, the client attempts to close the cursor on the primary or standalone, or a mongos server.
Changed in version 3.0: Added
address
parameter.
-
kill_cursors
(cursor_ids, address=None)¶ Send a kill cursors message soon with the given ids.
Raises
TypeError
if cursor_ids is not an instance oflist
.This method may be called from a
Cursor
destructor during garbage collection, so it isn’t safe to take a lock or do network I/O. Instead, we schedule the cursor to be closed soon on a background thread.Parameters: - cursor_ids: list of cursor ids to kill
- address (optional): (host, port) pair of the cursor’s server. If it is not provided, the client attempts to close the cursor on the primary or standalone, or a mongos server.
Changed in version 3.0: Now accepts an address argument. Schedules the cursors to be closed on a background thread instead of sending the message immediately.
-
set_cursor_manager
(manager_class)¶ Set this client’s cursor manager.
Raises
TypeError
if manager_class is not a subclass ofCursorManager
. A cursor manager handles closing cursors. Different managers can implement different policies in terms of when to actually kill a cursor that has been closed.Parameters: - manager_class: cursor manager to use
Changed in version 3.0: Undeprecated.
-