pool – Pool module for use with a MongoDB client.

    Store a socket with some metadata.

    • authenticate(credentials)

      Log in to the server and store these credentials in authset.

      Can raise ConnectionFailure or OperationFailure.

      Parameters:
      • credentials: A MongoCredential.
    • check_auth(all_credentials)

      Update this socket’s authentication.

      Log in or out to bring this socket’s credentials up to date with those provided. Can raise ConnectionFailure or OperationFailure.

    • (reason)

      Close this connection with a reason.

    • command(dbname, spec, slave_ok=False, read_preference=Primary(), codec_options=CodecOptions(document_class=dict, tz_aware=False, uuid_representation=UuidRepresentation.PYTHON_LEGACY, unicode_decode_error_handler=’strict’, tzinfo=None, type_registry=TypeRegistry(type_codecs=[], fallback_encoder=None)), check=True, allowable_errors=None, check_keys=False, read_concern=None, write_concern=None, parse_write_concern_error=False, collation=None, session=None, client=None, retryable_write=False, publish_events=True, user_fields=None, exhaust_allowed=False)

      Parameters:
      • dbname: name of the database on which to run the command
      • spec: a command document as a dict, SON, or mapping object
      • slave_ok: whether to set the SlaveOkay wire protocol bit
      • codec_options: a CodecOptions instance
      • check: raise OperationFailure if there are errors
      • allowable_errors: errors to ignore if check is True
      • check_keys: if True, check spec for invalid keys
      • read_concern: The read concern for this command.
      • write_concern: The write concern for this command.
      • parse_write_concern_error: Whether to parse the writeConcernError field in the command response.
      • collation: The collation for this command.
      • session: optional ClientSession instance.
      • client: optional MongoClient for gossipping $clusterTime.
      • retryable_write: True if this command is a retryable write.
      • publish_events: Should we publish events for this command?
      • user_fields (optional): Response fields that should be decoded using the TypeDecoders from codec_options, passed to bson._decode_all_selective.
    • legacy_write(request_id, msg, max_doc_size, with_last_error)

      Send OP_INSERT, etc., optionally returning response as a dict.

      Can raise ConnectionFailure or OperationFailure.

    • (request_id)

      Receive a raw BSON message or raise ConnectionFailure.

      If any exception is raised, the socket is closed.

    • send_cluster_time(command, session, client)

      Add cluster time for MongoDB >= 3.6.

    • Send a raw BSON message or raise ConnectionFailure.

      If a network exception is raised, the socket is closed.

    • socket_closed()

      Return True if we know socket has been closed, False otherwise.

    • validate_session(client, session)

      Validate this session before use with client.

      Raises error if this session is logged in as a different user or the client is not the one that created the session.

    • (request_id, msg)

      Send “insert” etc. command, returning response as a dict.

      Can raise ConnectionFailure or OperationFailure.

      Parameters:
      • request_id: an int.
      • msg: bytes, the command message.