pymongo – Python driver for MongoDB¶
Python driver for MongoDB.
- pymongo.version = '4.2.0'¶
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: Optional[float]) ContextManager¶
(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 newly computed deadline is capped to at most the existing 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.
New in version 4.2.
Sub-modules:
bulk– The bulk write operations interfacechange_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_infoencryption– Client-Side Field Level Encryptionencryption_options– Automatic Client-Side Field Level Encryptionerrors– Exceptions raised by thepymongopackagemongo_client– Tools for connecting to MongoDBmonitoring– Tools for monitoring driver events.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