Visão geral
Esta seção descreve as opções de conexão e autenticação do MongoDB disponíveis no driver Ruby. Você pode configurar sua conexão usando o URI de conexão (também chamado de string de conexão) ou passando argumentos para o construtor Mongo::Client.
Como utilizar o URI de conexão
Se você passar um URI de conexão para o construtor Mongo::Client, poderá incluir opções de conexão na cadeia de caracteres como pares <name>=<value>. No exemplo a seguir, o URI de conexão contém a opção connectTimeoutMS com um valor de 60000 e a opção tls com um valor de true:
uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true" client = Mongo::Client.new(uri)
Usando um Mongo::Client
Você pode passar as opções de conexão como argumentos para o construtor Mongo::Client em vez de incluí-las em seu URI de conexão. Ao configurar sua conexão dessa forma, é mais fácil para você alterar as configurações no tempo de execução e detectar erros durante a compilação. O exemplo seguinte mostra como utilizar o construtor Mongo::Client para configurar opções de conexão:
uri = "mongodb://<hostname>:<port>" client = Mongo::Client.new(uri, connect_timeout: 60000, ssl: true)
Opções de conexão
As seções a seguir descrevem as opções de conexão disponíveis no driver Ruby.
Compactação de rede
Opção de conexão | Descrição |
|---|---|
:compressors | Uma lista de compressores em potencial para usar, em ordem de preferência. O driver escolhe o primeiro compressor que também é compatível com o servidor. Atualmente, o driver só oferece suporte a |
:zlib_compression_level | O nível de compactação zlib a ser usado, se estiver usando compactação. Esta opção aceita um valor inteiro entre |
Tempo limite
Opção de conexão | Descrição |
|---|---|
:connect_timeout | O número de segundos para aguardar para estabelecer uma conexão de soquete antes de gerar uma exceção. Esse tempo limite também é usado para resolução de registro DNS SRV. |
:timeout_ms | O número de milissegundos para aguardar a execução de uma operação antes de gerar uma exceção. |
Seleção do Servidor
Opção de conexão | Descrição |
|---|---|
:load_balanced | Se deve esperar para se conectar a um balanceador de carga. |
:server_monitoring_mode | O protocolo de monitoramento do servidor a ser usado. Quando essa opção é definida como Tipo de dados: |
:server_selection_timeout | A quantidade máxima de tempo, em segundos, que o driver aguarda o sucesso da seleção do servidor antes de lançar uma exceção. |
Para obter mais informações sobre a seleção de servidor, consulte o guia Seleção de Servidor.
Autenticação
Opção de conexão | Descrição |
|---|---|
:auth_mech | O mecanismo que o driver Ruby usa para autenticar o aplicativo. |
:auth_mech_properties | Opções específicas para o mecanismo de autenticação. Esta opção não é necessária para todos os mecanismos de autenticação. |
:auth_source | O banco de dados para autenticar. |
: user | O nome de usuário para autenticação. Quando essa opção é incluída em um URI de conexão, você deve codificá-la em porcentagem. |
:password | A senha para autenticação. Quando essa opção é incluída em um URI de conexão, você deve codificá-la em porcentagem. |
Operações de leitura e escrita
Opção de conexão | Descrição |
|---|---|
:replica_set | Especifica o nome do conjunto de réplicas ao qual se conectar. |
:direct_connection | Se deve conectar diretamente ao hospedar especificado |
:enable_overload_tartargeting | Se o driver desprioriza um servidor que retorna um erro de sobrecarga, reduzindo a probabilidade de tentar novamente no mesmo servidor sobrecarregado. |
:max_adaptive_retry | O número máximo de tentativas a serem feitas quando o driver encontrar erros de sobrecarga. |
:read | As opções de preferência de leitura. Para obter mais informações, consulte preferência de leitura no manual do MongoDB Server. |
:read_concern | Especifica as opções de read concern. Para obter mais informações, consulte read concern no manual do MongoDB Server. |
:write_concern | Especifica a write concern do cliente. Para obter mais informações, consulte Write Concern no manual do MongoDB Server. |
:local_threshold | A janela de latência, em segundos, para a elegibilidade de um nó do conjunto de réplicas. Se o ping de ida e volta de um nó demorar mais do que o tempo de ping de ida e volta do servidor mais rápido mais esse valor, o servidor não estará qualificado para seleção. |
Pool de Conexões
Opção de conexão | Descrição |
|---|---|
:max_pool_size | O número máximo de conexões simultâneas que o pool mantém. Se o número de conexões em uso com um servidor atingir o valor especificado, a próxima solicitação para esse servidor aguardará até que uma conexão fique disponível. Definir esta opção como |
:max_connecting | O número máximo de conexões que cada pool pode estabelecer simultaneamente. |
:min_pool_size | O número mínimo de conexões simultâneas que o pool mantém. |
:max_idle_time | O número máximo de segundos que uma conexão pode permanecer ociosa no pool. |
Para obter mais informações sobre pools de conexões, consulte o guia pools de conexões.
Documentação da API
Para obter mais informações sobre as opções de Mongo::Client para o driver Ruby, consulte a documentação da API do Mongo::Client.