Definição
helloNovidades na versão 5.0.
helloretorna um documento que descreve a função da instânciamongod. Se o campo opcionalsaslSupportedMechsfor especificado, o comando também retornará umarray of SASL mechanismsutilizado para criar as credenciais do usuário especificado.Se a instância for um nó de um conjunto de réplicas, então
helloretornará 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
mongodque não é um membro de um conjunto de réplicas, ohelloretorna um subconjunto desta informação.MongoDB drivers e clientes utilizam o
hellopara 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 é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a 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 recebe o seguinte formulário:
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.isWritablePrimaryUm 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á
falsese 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.maxBsonObjectSizeO 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.maxMessageSizeBytesO tamanho máximo permitido de uma BSON protocolo de fio. O valor padrão é
48000000bytes.
hello.maxWriteBatchSizeO 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,000gravações.
hello.localTimeRetorna a hora do servidor local em UTC. Este valor é uma data ISO.
hello.logicalSessionTimeoutMinutesO 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
refreshSessionsdentro 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
featureCompatibilityVersionfor"3.6"ou superior.
hello.connectionIdUm identificador para a instância
mongod/mongosconexão de saída da instância com o cliente.
hello.minWireVersionA versão mais antiga do protocolo de conexão que essa instância
mongodoumongosé capaz de usar para se comunicar com clientes.Os clientes podem utilizar o
minWireVersionpara negociar a compatibilidade com o MongoDB.
hello.maxWireVersionA versão mais recente do protocolo de fio que essa instância
mongodoumongosé capaz de usar para se comunicar com os clientes.Os clientes podem utilizar o
maxWireVersionpara negociar a compatibilidade com o MongoDB.
hello.readOnlyUm valor booleano que, quando
true, indica que omongodoumongosestá sendo executado no modo somente leitura.
hello.compressionUma array listando os algoritmos de compressão utilizados ou disponíveis para uso (isto é, comum para tanto o cliente quanto a instância
mongodoumongos) para comprimir a comunicação entre o cliente e a instânciamongodoumongos.O campo só estará disponível se a compactação for usada. Por exemplo:
Se o
mongodestiver habilitado para usar ambos os compressoressnappy,zlibe um cliente tiver especificadozlib, o campocompressionconteria:"compression": [ "zlib" ] Se o
mongodestiver habilitado para usar ambos os compressoressnappy,zlibe um cliente tiver especificadozlib,snappy, o campocompressionconteria:"compression": [ "zlib", "snappy" ] Se o
mongodestiver habilitado para usar o compressorsnappye um cliente houver especificadozlib,snappy, o campocompressionconteria:"compression": [ "snappy" ] Se o
mongodestiver habilitado para utilizar o compressorsnappye um cliente especificouzlibou 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
mongodoumongosconectada, o campo não será gerado.
hello.saslSupportedMechsUma array de mecanismos SASL usados para criar as credenciais ou credenciais do usuário. Os mecanismos SASL suportados são:
GSSAPISCRAM-SHA-256SCRAM-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.hostsUma 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.passivespara determinar em quais nós será feira a leitura.
hello.secondaryUm valor booleano que, quando
true, indica se omongodé um membro secundário de um conjunto de réplicas.
hello.passivesUma array de strings no formato de
"[hostname]:[port]"listando todos os nós do conjunto de réplicas contendo ummembers[n].priorityde0.Este campo só aparece se houver pelo menos um membro com um
members[n].priorityde0.Os drivers utilizam esta array e o
hello.hostspara determinar em quais nós será feira a leitura.
hello.arbitersUma 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.primaryUma string no formato de
"[hostname]:[port]"que lista o nó primary atual do conjunto de réplicas.
hello.arbiterOnlyUm valor booleano que, quando
true, indica que a instância atual é um árbitro. O campoarbiterOnlyestará presente somente se a instância for um árbitro.
hello.passiveUm valor booleano que, quando
true, indica que a instância atual é passiva. O campopassiveestá presente somente para membros com ummembers[n].priorityde0.
hello.hiddenUm valor booleano que, quando
true, indica que a instância atual é oculta. O campohiddenestá presente somente para membros ocultos.
hello.tagsUm documento
tagsconté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.getLastErrorModesesettings.getLastErrorDefaults.
Para obter mais informações, consulte Configurar conjuntos de tags de conjunto de réplica.
Dica
hello.meO
[hostname]:[port]do membro que devolveuhello.
hello.electionIdUm identificador único para cada eleição. Incluído somente na saída de
hellopara o primário. Usado por clientes para determinar quando ocorrem as eleições.
hello.lastWriteUm documento contendo informações de optime e data para a operação de gravação mais recente do banco de dados.
hello.lastWrite.opTimeUm objeto que fornece o optime da última operação de gravação.
hello.lastWrite.majorityOpTimeUm objeto que fornece o optime da última operação de gravação legível por
majorityleituras.
hello.lastWrite.majorityWriteDateUm 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.