Classe: Mongo::URI

Herda:
Objeto
  • Objeto
mostrar tudo
Inclui:
Endereço::Validator, Loggable
Definido em:
build/ruby-driver-v2.19/lib/mongo/uri.rb,
build/ruby-driver-v2.19/lib/mongo/uri/srv_protocol.rb,
build/ruby-driver-v2.19/lib/mongo/uri/options_mapper.rb

Visão geral

A classe URI fornece uma maneira de os usuários analisarem o uri do MongoDB conforme definido na especificação do formato da connection string.

Www.mongodb.com/pt-br/docs/manual/reference/connection-string/

Exemplos:

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

uri = Mongo::URI.new('mongodb://localhost:27017')
client = Mongo::Client.new(uri.servers, uri.options)
client.(uri.credentials)
client[uri.database]

Desde:

  • 2.0.0

Subclasses conhecidas diretas

Protocolo SRV

Definido sob namespace

Classes: OptionsMapper, SRVProtocol

Colapsode resumo constante

ESQUEMA =
Obsoleto.

Será removido em 3.0.

O MongoDB string esquema de connection do .

Desde:

  • 2.0.0

'MongoDB://'.congelar
MONGODB_SCHEME =

A MongoDB raiz do esquema string de connection do .

Desde:

  • 2.5.0

'mongodb'.congelar
MONGODB_SRV_SCHEME =

A MongoDB string raiz do esquema de connection do protocolo srv.

Desde:

  • 2.5.0

'mongodb+srv'.congelar
INVALID_SCHEME =
Obsoleto.

Detalhes de erro para um esquema inválido.

Desde:

  • 2.1.0

"Esquema inválido. O esquema deve ser '#{MONGODB_SCHEME}' ou '#{MONGODB_SRV_SCHEME}'".congelar
FORMATO =

Especificação de formato URI MongoDB.

Desde:

  • 2.0.0

'MongoDB://[username:password@]host1[:port1][,host2[:port2]' +
',...[,hostN[:portN]]][/[database][?options]]'.congelar
AJUDA =

URL de documentação do MongoDB URI (connection string)

Desde:

  • 2.0.0

'https://www.mongodb.com/pt-br/docs/manual/reference/connection-string/'.congelar
NÃO SEGURO =

Caracteres não seguros que devem ser codificados em URL.

Desde:

  • 2.1.0

/[\:\/\@]/
PERCENT_CHAR =

Sinal de porcentagem que deve ser codificado nas credenciais do usuário.

Desde:

  • 2.5.1

/\%/
UNIX_SOCKET =

Sufixo de soquete Unix.

Desde:

  • 2.1.0

/.sock/
HOST_DELIM =

Os hosts delimitadores de caracteres.

Desde:

  • 2.1.0

','.congelar
HOST_PORT_DELIM =

O caractere que separa um host e uma porta.

Desde:

  • 2.1.0

':'.congelar
DATABASE_DELIM =

O caractere delimitando um banco de dados.

Desde:

  • 2.1.0

'/'.congelar
URI_OPTS_DELIM =

As opções de delimitação de caracteres.

Desde:

  • 2.1.0

'?'.congelar
INDIV_URI_OPTS_DELIM =
Obsoleto.

O caractere delimitando várias opções.

Desde:

  • 2.1.0

'&'.congelar
URI_OPTS_VALUE_DELIM =

O caractere delimitando uma opção e seu valor.

Desde:

  • 2.1.0

'='.congelar
AUTH_USER_PWS_DELIM =

O caractere que separa um nome de usuário da senha.

Desde:

  • 2.1.0

':'.congelar
AUTH_DELIM =

Os caracteres que delimitam as credenciais de autenticação.

Desde:

  • 2.1.0

'@'.congelar
SCHEME_DELIM =

Delimitador de esquema.

Desde:

  • 2.5.0

'://'.congelar
INVALID_OPTS_VALUE_DELIM =

Detalhes de erro para um formato de opções inválido.

Desde:

  • 2.1.0

"As opções e seus valores devem ser delimitados" +
" por '#{URI_OPTS_VALUE_DELIM}'".congelar
UNESCAPED_USER_PWD =

Detalhes de erro para um nome de usuário ou senha sem código URL.

Desde:

  • 2.1.0

"O nome de usuário e a senha devem ser codificados em URL.".congelar
UNESCAPED_UNIX_SOCKET =

Detalhes de erro para um caminho de soquete unix sem código URL.

Desde:

  • 2.1.0

"Os soquetes de domínio UNIX devem ser codificados com URL.".congelar
UNESCAPED_DATABASE =

Detalhes de erro para um nome de banco de dados de autenticação não codificado por URL.

Desde:

  • 2.1.0

"O banco de dados de autenticação deve ser codificado como URL.".congelar
INVALID_OPTS_DELIM =

Detalhes de erro por fornecer opções sem um delimitador de banco de dados.

Desde:

  • 2.1.0

"O delimitador de banco de dados '#{DATABASE_DELIM}' deve estar presente se as opções forem especificadas.".congelar
INVALID_HOST =

Detalhes de erro para um host ausente.

Desde:

  • 2.1.0

"Host ausente; pelo menos um deve ser fornecido.".congelar
INVALID_PORT =

Detalhes de erro para uma porta inválida.

Desde:

  • 2.1.0

"Porta inválida. A porta deve ser um número inteiro maior que 0 e menor que 65536".congelar
READ_MODE_MAP =

Mapa de modos de leitura de URI para modos de leitura de driver Ruby

Desde:

  • 2.0.0

{
  'primary'            => :primary,
  'primarypreferred'   => :primary_preferred,
  'secundário'          => :secondary,
  'secondarypreferred' => :secondary_preferred,
  'mais próximo'            => :mais próximo
}.congelar
AUTH_MECH_MAP =

Mapa de mecanismos de autenticação URI para mecanismos de driver Ruby

Desde:

  • 2.0.0

{
  'GSSAPI'       => :gssapi,
  'MONGODB-AWS'  => :aws,
  # O MONGODB-CR está obsoleto e será removido na versão do driver 3.0
  'MONGODB-CR'   => :mongodb_cr,
  'MONGODB-X509' => :mongodb_x509,
  'PLAIN'        => :plain,
  'SCRAM-SHA-1'  => :scram,
  'SCRAM-SHA-256' => :scram256,
}.congelar
REPEATABLE_OPTIONS =

Opções que podem aparecer mais de uma vez no uri.

Para seguir o requisito específico das opções de URI de que todas as instâncias de 'tls' e 'ssl' tenham o mesmo valor, precisamos acompanhar todos os valores passados para essas opções. Supondo que não entrem em conflito, serão condensadas em um único valor imediatamente após a análise do URI.

Desde:

  • 2.1.0

[ :tag_sets, :ssl ]

Constantes incluídas do Loggable

Loggable::Prefix

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de classe

Recolhimento do Resumo do método de instância

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

#inicializar(string, opções = {}) ➤ URI

Crie o novo uri a partir da string fornecida.

Exemplos:

Crie o novo URI.

URI.new('mongodb://localhost:27017')

Parâmetros:

  • string (string)

    O URI a ser analisado.

  • opções (Hash) (padrão para: {})

    As opções.

Hash de opções (opções):

  • :logger (Registrador)

    Um registrador personalizado para usar.

Aumenta:

Desde:

  • 2.0.0



284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 284

def inicializar(string, opções = {})
  a menos que string
    aumentar Erro::URL inválida.Novo(string, ' OURI deve ser uma string, não nula.')
  end
  se string.vazio?
    aumentar Erro::URL inválida.Novo(string, 'Não é possível analisar um URI vazio.')
  end

  @string = string
  @opções = opções
  parsed_scheme, _, restante = string.Partição(SCHEME_DELIM)
  a menos que parsed_scheme == Esquema
    create_invalid_error!("Esquema inválido '#{parsed_scheme}'. O esquema deve ser '#{MONGODB_SCHEME}'. Use URI#get para analisar URIs SRV.")
  end
  se restante.vazio?
    create_invalid_error!('Nenhum host no URI')
  end
  análise!(restante)
  validate_uri_options!
end

Detalhes do atributo da instância

#opções Objeto (somente leitura)

As opções de objeto do analisador uri.

Desde:

  • 2.0.0



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

def opções
  @opções
end

#servidoresObjeto (somente leitura)

Os servidores especificados no uri.

Desde:

  • 2.0.0



49
50
51
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 49

def Servidores
  @servidores
end

#uri_options ➤ Objeto (somente leitura)

Mongo::Options::editado das opções especificadas no uri.

Desde:

  • 2.1.0



44
45
46
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 44

def uri_options
  @uri_options
end

Detalhes do método de classe

.get(string, opts = {}) ➤ URI, URI::SRVProtocol

Obtenha um objeto URI ou um objeto SRVProtocol URI .

Exemplos:

Obtenha o objeto uri.

URI.get(string)

Parâmetros:

  • string (string)

    O URI a ser analisado.

  • opciona (Hash) (padrão para: {})

    As opções.

  • opções (Hash)

    um conjunto personalizável de opções

Retorna:

Desde:

  • 2.5.0



230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 230

def auto.obter(string, opciona = {})
  a menos que string
    aumentar Erro::URL inválida.Novo(string, ' OURI deve ser uma string, não nula.')
  end
  se string.vazio?
    aumentar Erro::URL inválida.Novo(string, 'Não é possível analisar um URI vazio.')
  end

  Esquema, _, _ = string.Partição(SCHEME_DELIM)
  caso Esquema
    quando MONGODB_SCHEME
      URI.Novo(string, opciona)
    quando MONGODB_SRV_SCHEME
      Protocolo SRV.Novo(string, opciona)
    mais
      aumentar Erro::URL inválida.Novo(string, "Esquema inválido '#{schema}'. O esquema deve ser '#{MONGODB_SCHEME}' ou '#{MONGODB_SRV_SCHEME}'")
  end
end

Detalhes do método de instância

#client_options ➤ Mongo::Options::Redacted

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 credenciais e o banco de dados nesse ponto - só temos um único ponto aqui.

Exemplos:

Obtenha as opções do cliente.

uri.client_options

Retorna:

Desde:

  • 2.0.0



259
260
261
262
263
264
265
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 259

def client_options
  opciona = uri_options.toque fazer |opciona|
    opciona[:database] = @database se @database
  end

  @user ? opciona.mesclar(credenciais) : opciona
end

#credenciaisHash

Obtenha as credenciais fornecidas no URI.

Exemplos:

Obtenha as credenciais.

uri.credentials

Retorna:

  • (Hash)

    As credenciais.

    • :user [ string ] O usuário.

    • :password [ string ] A senha fornecida.

Desde:

  • 2.0.0



315
316
317
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 315

def credenciais
  { : user => @user, :password => @senha }
end

#banco de dados ➤ string

Obtenha o banco de dados fornecido no URI.

Exemplos:

Obtenha o banco de dados.

uri.database

Retorna:

  • (string)

    O banco de dados.

Desde:

  • 2.0.0



327
328
329
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 327

def database
  @database ? @database : Database::ADMIN
end

#srv_records ➤ Objeto

Desde:

  • 2.0.0



267
268
269
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 267

def srv_records
  nada
end

#to_s ➤ string

Obtenha o uri como uma string.

Exemplos:

Obtenha o uri como uma string.

uri.to_s

Retorna:

  • (string)

    A string uri.

Desde:

  • 2.0.0



337
338
339
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 337

def to_s
  reconstruct_uri
end