Classe: Mongo::URI::SRVProtocol

Herda:
Mongo::URI mostrar tudo
Definido em:
build/ruby-driver-v2.19/lib/mongo/uri/srv_protocol.rb

Visão geral

Analisador de URI usando o protocolo mongodb+srv, que especifica um DNS para fazer query de registros SRV. O driver consultará o servidor DNS em busca de registros SRV em <hostname>.<domainname>, prefixado com _mongodb._tcp Os registros SRV podem então ser usados como a lista de sementes para um Mongo::Client. O driver também consulta um registro TXT que fornece opções de string de conexão padrão. Somente um registro TXT é permitido, e somente um subconjunto de opções Mongo::Client é permitido.

Consulte a especificação da Descoberta inicial da lista de sementes de DNS para obter detalhes.

github.com/mongodb/specifications/blob/master/source/initial-dns-seedlist-discovery

Exemplos:

Use a string uri para fazer uma conexão com o cliente .

client = Mongo::Client.new('mongodb+srv://test6.test.build.10gen.cc/')

Desde:

  • 2.5.0

Resumo constante

Constantes herdadas de Mongo::URI

AUTH_DELIM, AUTH_MECH_MAP, AUTH_USER_PWD_DELIM, DATABASE_DELIM, HELP, HOST_DELIM, HOST_PORT_DELIM, INDIV_URI_OPTS_DELIM, INVALID_OPTS_DELIM, INVALID_OPTS_VALUE_DELIM, INVALID_SCHEME, MONGODB_SCHEME, MONGODB_SRV_SCHEME, PERCENT_CHAR, READ_MODE_MAP, REPEATABLE_OPTIONS, SCHEME, SCHEME_DELIM, UNESCAPED_DATABASE, UNESCAPED_UNIX_SOCKET, UNESCAPED_USER_PWD, UNIX_SOCKET, UNSAFE, URI_OPTS_DELIM, URI_OPTS_VALUE_DELIM

Constantes incluídas do Loggable

Loggable::Prefix

Recolhimento do Resumo do atributo de instância

Atributos herdados de Mongo::URI

#options, #servers, #uri_options

Recolhimento do Resumo do método de instância

Métodos herdados do Mongo::URI

#credentials, #database, get, #initialize, #to_s

Métodos incluídos de Address::Validator

#validate_address_str!

Métodos incluídos no Loggable

#log_debug, #log_error, #log_fatal, #log_info, #log_WARN, #logger

Detalhes do construtor

Esta classe herda um construtor de Mongo::URI

Detalhes do atributo da instância

#query_hostname ➤ string (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

O nome de host especificado no URI e usado para procurar registros SRV.

Este atributo precisa ser definido porque o SRVProtocol altera #servers para ser o resultado da pesquisa em vez do nome de host especificado no URI.

Retorna:

  • (string)

    O nome do host usado na pesquisa de SRV.

Desde:

  • 2.5.0



72
73
74
# File 'build/ruby-driver-v2.19/lib/mongo/uri/srv_protocol.rb', linha 72

def query_hostname
  @query_hostname
end

#srv_records ➤ Object (somente leitura)

Desde:

  • 2.5.0



39
40
41
# File 'build/ruby-driver-v2.19/lib/mongo/uri/srv_protocol.rb', linha 39

def srv_records
  @srv_records
end

#srv_result ➤ SRV::Result (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna o resultado da pesquisa SRV.

Retorna:

Desde:

  • 2.5.0



60
61
62
# File 'build/ruby-driver-v2.19/lib/mongo/uri/srv_protocol.rb', linha 60

def srv_result
  @srv_result
end

Detalhes do método de instância

#client_options ➤ Hash

Obtém o hash de opções que precisa ser passado para um Mongo::Client na instanciação, para que não precisemos mesclar as opções de registro txt, as credenciais e o banco de dados de dados nesse ponto - só temos um único ponto aqui.

Exemplos:

Obtenha as opções do cliente.

uri.client_options

Retorna:

  • (Hash)

    As opções passadas para o Mongo::Client

Desde:

  • 2.5.0



51
52
53
54
55
# File 'build/ruby-driver-v2.19/lib/mongo/uri/srv_protocol.rb', linha 51

def client_options
  opciona = @txt_options.mesclar(ssl: true)
  opciona = opciona.mesclar(uri_options).mesclar(:database => database)
  @user ? opciona.mesclar(credenciais) : opciona
end