pymongo -- Python driver for MongoDB#
Python driver for MongoDB.
- pymongo.version = '4.5.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: float | None) ContextManager#
(Provisional) Apply the given timeout for a block of operations.
备注
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 客户端操作超时 for more examples.
在 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_infoencryption-- Client-Side Field Level Encryptionencryption_options-- Automatic Client-Side Field Level Encryptionerrors-- Exceptions raised by thepymongopackageAutoReconnectBulkWriteErrorCollectionInvalidConfigurationErrorConnectionFailureCursorNotFoundDocumentTooLargeDuplicateKeyErrorEncryptedCollectionErrorEncryptionErrorExecutionTimeoutInvalidNameInvalidOperationInvalidURINetworkTimeoutNotPrimaryErrorOperationFailureProtocolErrorPyMongoErrorServerSelectionTimeoutErrorWTimeoutErrorWaitQueueTimeoutErrorWriteConcernErrorWriteError
mongo_client-- Tools for connecting to MongoDBmonitoring-- Tools for monitoring driver events.register()CommandListenerServerListenerServerHeartbeatListenerTopologyListenerConnectionPoolListenerCommandStartedEventCommandSucceededEventCommandFailedEventServerDescriptionChangedEventServerOpeningEventServerClosedEventTopologyDescriptionChangedEventTopologyOpenedEventTopologyClosedEventServerHeartbeatStartedEventServerHeartbeatSucceededEventServerHeartbeatFailedEventPoolCreatedEventPoolClearedEventPoolClosedEventConnectionCreatedEventConnectionReadyEventConnectionClosedReasonConnectionClosedEventConnectionCheckOutStartedEventConnectionCheckOutFailedReasonConnectionCheckOutFailedEventConnectionCheckedOutEventConnectionCheckedInEvent
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