pymongo
– Python driver for MongoDB#
Python driver for MongoDB.
- pymongo.version = '4.6.3'#
Current version of PyMongo.
- pymongo.MongoClient#
Alias for
pymongo.mongo_client.MongoClient
.
- pymongo.ReadPreference#
Alias for
pymongo.read_preferences.ReadPreference
.
- pymongo.MIN_SUPPORTED_WIRE_VERSION#
The minimum wire protocol version PyMongo supports.
- pymongo.MAX_SUPPORTED_WIRE_VERSION#
The maximum wire protocol version PyMongo supports.
- pymongo.timeout(seconds: float | None) ContextManager[None] #
(Provisional) Apply the given timeout for a block of operations.
Note
timeout()
is currently provisional. Backwards incompatible changes may occur before becoming officially supported.Use
timeout()
in a with-statement:with pymongo.timeout(5): client.db.coll.insert_one({}) client.db.coll2.insert_one({})
When the with-statement is entered, a deadline is set for the entire block. When that deadline is exceeded, any blocking pymongo operation will raise a timeout exception. For example:
try: with pymongo.timeout(5): client.db.coll.insert_one({}) time.sleep(5) # The deadline has now expired, the next operation will raise # a timeout exception. client.db.coll2.insert_one({}) except PyMongoError as exc: if exc.timeout: print(f"block timed out: {exc!r}") else: print(f"failed with non-timeout error: {exc!r}")
When nesting
timeout()
, the nested deadline is capped by the outer deadline. The deadline can only be shortened, not extended. When exiting the block, the previous deadline is restored:with pymongo.timeout(5): coll.find_one() # Uses the 5 second deadline. with pymongo.timeout(3): coll.find_one() # Uses the 3 second deadline. coll.find_one() # Uses the original 5 second deadline. with pymongo.timeout(10): coll.find_one() # Still uses the original 5 second deadline. coll.find_one() # Uses the original 5 second deadline.
- Parameters:
seconds: A non-negative floating point number expressing seconds, or None.
- Raises:
ValueError
: When seconds is negative.
See Client Side Operation Timeout for more examples.
New in version 4.2.
Sub-modules:
change_stream
– Watch changes on a collection, database, or clusterclient_options
– Read only configuration options for a MongoClient.client_session
– Logical sessions for sequential operationscollation
– Tools for working with collations.collection
– Collection level operationscommand_cursor
– Tools for iterating over MongoDB command resultscursor
– Tools for iterating over MongoDB query resultsdatabase
– Database level operationsdriver_info
encryption
– Client-Side Field Level Encryptionencryption_options
– Automatic Client-Side Field Level Encryptionerrors
– Exceptions raised by thepymongo
packageAutoReconnect
BulkWriteError
CollectionInvalid
ConfigurationError
ConnectionFailure
CursorNotFound
DocumentTooLarge
DuplicateKeyError
EncryptedCollectionError
EncryptionError
ExecutionTimeout
InvalidName
InvalidOperation
InvalidURI
NetworkTimeout
NotPrimaryError
OperationFailure
ProtocolError
PyMongoError
ServerSelectionTimeoutError
WTimeoutError
WaitQueueTimeoutError
WriteConcernError
WriteError
mongo_client
– Tools for connecting to MongoDBmonitoring
– Tools for monitoring driver events.register()
CommandListener
ServerListener
ServerHeartbeatListener
TopologyListener
ConnectionPoolListener
CommandStartedEvent
CommandSucceededEvent
CommandFailedEvent
ServerDescriptionChangedEvent
ServerOpeningEvent
ServerClosedEvent
TopologyDescriptionChangedEvent
TopologyOpenedEvent
TopologyClosedEvent
ServerHeartbeatStartedEvent
ServerHeartbeatSucceededEvent
ServerHeartbeatFailedEvent
PoolCreatedEvent
PoolClearedEvent
PoolClosedEvent
ConnectionCreatedEvent
ConnectionReadyEvent
ConnectionClosedReason
ConnectionClosedEvent
ConnectionCheckOutStartedEvent
ConnectionCheckOutFailedReason
ConnectionCheckOutFailedEvent
ConnectionCheckedOutEvent
ConnectionCheckedInEvent
operations
– Operation class definitionspool
– Pool module for use with a MongoDB client.read_concern
– Tools for working with read concern.read_preferences
– Utilities for choosing which member of a replica set to read from.results
– Result class definitionsserver_api
– Support for MongoDB Stable APIserver_description
– An object representation of a server the driver is connected to.topology_description
– An object representation of a deployment of MongoDB servers.uri_parser
– Tools to parse and validate a MongoDB URIwrite_concern
– Tools for specifying write concernevent_loggers
– Example loggers