olá
Definição
hello
Novidades na versão 5.0.
hello
retorna um documento que descreve a função da instânciamongod
. Se o campo opcionalsaslSupportedMechs
for especificado, o comando também retornará umarray of SASL mechanisms
utilizado para criar as credenciais do usuário especificado.Se a instância for um nó de um conjunto de réplicas, então
hello
retornará um subconjunto da configuração e status do conjunto de réplicas, incluindo se a instância é ou não o primário do conjunto de réplicas.Quando enviado para uma instância do
mongod
que não é um membro de um conjunto de réplicas, ohello
retorna um subconjunto desta informação.MongoDB drivers e clientes utilizam o
hello
para determinar o estado dos membros do conjunto de réplicas e descobrir membros adicionais de um conjunto de réplicas.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é suportado em todos os clusters do MongoDB Atlas . Para obter informações sobre o suporte do Atlas para todos os comandos, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { hello: 1 } )
O comando hello
aceita os campos opcionais saslSupportedMechs: <db.user>
para retornar um campo adicional hello.saslSupportedMechs
no seu resultado e comment <any>
para adicionar um comentário de log associado ao comando.
db.runCommand( { hello: 1, saslSupportedMechs: "<db.username>", comment: <any> } )
O método db.hello()
em mongosh
fornece um encapsulador em torno de hello
.
Comportamento
Desconexão do cliente
A partir do MongoDB 4.2, se o cliente que emitiu hello
se desconectar antes da conclusão da operação, o MongoDB marcará hello
para encerramento usando killOp
.
Saída
Todas as instâncias
Os seguintes campos do hello
são comuns em todas as funções:
hello.isWritablePrimary
Um valor booleano que relata quando este nó é gravável. Se
true
, essa instância será primário em um conjunto de réplicas, ou uma instânciamongos
, ou uma standalonemongod
.Este campo será
false
se a instância for um membro secundário de um conjunto de réplicas ou se o membro for um árbitro de um conjunto de réplicas.
hello.maxBsonObjectSize
O tamanho máximo permitido de um objeto BSON em bytes para este processo de
mongod
. Se não forem fornecidos, os clientes devem assumir um tamanho máximo de "16 * 1024 * 1024
".
hello.maxMessageSizeBytes
O tamanho máximo permitido de uma BSON protocolo de fio. O valor padrão é
48000000
bytes.
hello.maxWriteBatchSize
O número máximo de operações de gravação permitidas em um lote de gravação. Se um lote exceder esse limite, o driver do cliente dividirá o lote em grupos menores cada um com contagens inferiores ou iguais ao valor deste campo.
O valor desse limite é
100,000
gravações.
hello.localTime
Retorna a hora do servidor local em UTC. Este valor é uma data ISO.
hello.logicalSessionTimeoutMinutes
O tempo em minutos em que uma sessão permanece ativa após seu uso mais recente. As sessões que não receberam uma nova operação de leitura/gravação do cliente ou foram atualizadas com
refreshSessions
dentro desse limite são apagadas do cache. O estado associado a uma sessão expirada pode ser limpo pelo servidor a qualquer momento.Disponível apenas quando
featureCompatibilityVersion
for"3.6"
ou superior.
hello.connectionId
Um identificador para a instância
mongod
/mongos
conexão de saída da instância com o cliente.
hello.minWireVersion
A versão mais antiga do protocolo de conexão que essa instância
mongod
oumongos
é capaz de usar para se comunicar com clientes.Os clientes podem utilizar o
minWireVersion
para negociar a compatibilidade com o MongoDB.
hello.maxWireVersion
A versão mais recente do protocolo de fio que essa instância
mongod
oumongos
é capaz de usar para se comunicar com os clientes.Os clientes podem utilizar o
maxWireVersion
para negociar a compatibilidade com o MongoDB.
hello.readOnly
Um valor booleano que, quando
true
, indica que omongod
oumongos
está sendo executado no modo somente leitura.
hello.compression
Uma array listando os algoritmos de compressão utilizados ou disponíveis para uso (isto é, comum para tanto o cliente quanto a instância
mongod
oumongos
) para comprimir a comunicação entre o cliente e a instânciamongod
oumongos
.O campo só estará disponível se a compactação for usada. Por exemplo:
Se o
mongod
estiver habilitado para usar ambos os compressoressnappy,zlib
e um cliente tiver especificadozlib
, o campocompression
conteria:"compression": [ "zlib" ] Se o
mongod
estiver habilitado para usar ambos os compressoressnappy,zlib
e um cliente tiver especificadozlib,snappy
, o campocompression
conteria:"compression": [ "zlib", "snappy" ] Se o
mongod
estiver habilitado para usar o compressorsnappy
e um cliente houver especificadozlib,snappy
, o campocompression
conteria:"compression": [ "snappy" ] Se o
mongod
estiver habilitado para utilizar o compressorsnappy
e um cliente especificouzlib
ou o cliente não especificou nenhum compressor, o campo será omitido.
Isto é, se o cliente não especificar a compressão ou se o cliente especificar um compressor não habilitado para a instância
mongod
oumongos
conectada, o campo não será gerado.
hello.saslSupportedMechs
Uma array de mecanismos SASL usados para criar as credenciais ou credenciais do usuário. Os mecanismos SASL suportados são:
GSSAPI
SCRAM-SHA-256
SCRAM-SHA-1
O campo é retornado somente quando o comando é executado com o campo
saslSupportedMechs
:db.runCommand( { hello: 1, saslSupportedMechs: "<db.username>" } )
Instâncias compartilhadas
As instâncias mongos
adicionam o seguinte campo ao documento de resposta hello
:
Conjuntos de réplicas
hello
contém estes campos quando gerado por um nó de um conjunto de réplicas:
hello.hosts
Uma série de strings no formato do
"[hostname]:[port]"
que lista todos os membros do conjunto de réplicas que não são oculto, passivo, nem árbitros.Os drivers utilizam esta array e o
hello.passives
para determinar em quais nós será feira a leitura.
hello.secondary
Um valor booleano que, quando
true
, indica se omongod
é um membro secundário de um conjunto de réplicas.
hello.passives
Uma array de strings no formato de
"[hostname]:[port]"
listando todos os nós do conjunto de réplicas contendo ummembers[n].priority
de0
.Este campo só aparece se houver pelo menos um membro com um
members[n].priority
de0
.Os drivers utilizam esta array e o
hello.hosts
para determinar em quais nós será feira a leitura.
hello.arbiters
Uma array de strings no formato de
"[hostname]:[port]"
listando todos os membros do conjunto de réplicas que são árbitros.Este campo só aparece se houver pelo menos um árbitro no conjunto de réplicas.
hello.primary
Uma string no formato de
"[hostname]:[port]"
que lista o nó primary atual do conjunto de réplicas.
hello.arbiterOnly
Um valor booleano que, quando
true
, indica que a instância atual é um árbitro. O campoarbiterOnly
estará presente somente se a instância for um árbitro.
hello.passive
Um valor booleano que, quando
true
, indica que a instância atual é passiva. O campopassive
está presente somente para membros com ummembers[n].priority
de0
.
hello.hidden
Um valor booleano que, quando
true
, indica que a instância atual é oculta. O campohidden
está presente somente para membros ocultos.
hello.tags
Um documento
tags
contém um campo de tag definido pelo usuário e pares de valores para o membro do conjunto de réplica.{ "<tag1>": "<string1>", "<tag2>": "<string2>",... } Para operações de leitura, você pode especificar um conjunto de tags na preferência de leitura para direcionar as operações para membros do conjunto de réplicas com as tags especificadas.
Para operações de gravação, você pode criar uma write concern personalizada utilizando
settings.getLastErrorModes
esettings.getLastErrorDefaults
.
Para obter mais informações, consulte Configurar conjuntos de tags de conjunto de réplica.
hello.me
O
[hostname]:[port]
do membro que devolveuhello
.
hello.electionId
Um identificador único para cada eleição. Incluído somente na saída de
hello
para o primário. Usado por clientes para determinar quando ocorrem as eleições.
hello.lastWrite
Um documento contendo informações de optime e data para a operação de gravação mais recente do banco de dados.
hello.lastWrite.opTime
Um objeto que fornece o optime da última operação de gravação.
hello.lastWrite.majorityOpTime
Um objeto que fornece o optime da última operação de gravação legível por
majority
leituras.
hello.lastWrite.majorityWriteDate
Um objeto de data contendo o tempo da última operação de gravação legível por leituras do
majority
.
Para obter detalhes sobre o campo de status ok
, o campo operationTime
e o campo $clusterTime
, consulte Resposta do comando.