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
Tempo limite
Opção de conexão | Descrição |
|---|---|
:connect_timeout | O número de segundos de espera para estabelecer uma conexão de soquete antes de gerar uma exceção. Esse tempo limite também é usado para a resolução do 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 conectar-se 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, 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 aplicação. |
: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 | |
:password |
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 se conectar diretamente ao host 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 para tentar quando o driver encontra 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 preocupação de leitura . Para obter mais informações, consulte Read Concern no manual do MongoDB Server . |
:write_concern | Especifica a preocupação de gravação 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 membro do conjunto de réplicas. Se o ping de ida e volta de um membro 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 se torne 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 inativa 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.