Definição
- hello
- Novidades na versão 5.0. - helloretorna um documento que descreve a função da instância- mongod. Se o campo opcional- saslSupportedMechsfor especificado, o comando também retornará um- array 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, o- helloretorna 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 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
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ância- mongos, ou uma standalone- mongod.- 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.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 é - 48000000bytes.
- 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,000gravaçõ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 - 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.connectionId
- Um identificador para a instância - mongod/- mongosconexã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 - mongodou- mongosé capaz de usar para se comunicar com clientes.- Os clientes podem utilizar o - minWireVersionpara negociar a compatibilidade com o MongoDB.
- hello.maxWireVersion
- A versão mais recente do protocolo de fio que essa instância - mongodou- mongosé capaz de usar para se comunicar com os clientes.- Os clientes podem utilizar o - maxWireVersionpara negociar a compatibilidade com o MongoDB.
- hello.readOnly
- Um valor booleano que, quando - true, indica que o- mongodou- mongosestá 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 - mongodou- mongos) para comprimir a comunicação entre o cliente e a instância- mongodou- mongos.- O campo só estará disponível se a compactação for usada. Por exemplo: - Se o - mongodestiver habilitado para usar ambos os compressores- snappy,zlibe um cliente tiver especificado- zlib, o campo- compressionconteria:- "compression": [ "zlib" ] 
- Se o - mongodestiver habilitado para usar ambos os compressores- snappy,zlibe um cliente tiver especificado- zlib,snappy, o campo- compressionconteria:- "compression": [ "zlib", "snappy" ] 
- Se o - mongodestiver habilitado para usar o compressor- snappye um cliente houver especificado- zlib,snappy, o campo- compressionconteria:- "compression": [ "snappy" ] 
- Se o - mongodestiver habilitado para utilizar o compressor- snappye um cliente especificou- zlibou 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 - mongodou- mongosconectada, 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.passivespara determinar em quais nós será feira a leitura.
- hello.secondary
- Um valor booleano que, quando - true, indica se o- mongodé 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 um- members[n].priorityde- 0.- Este campo só aparece se houver pelo menos um membro com um - members[n].priorityde- 0.- Os drivers utilizam esta array e o - hello.hostspara 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 campo- arbiterOnlyestará 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 campo- passiveestá presente somente para membros com um- members[n].priorityde- 0.
- hello.hidden
- Um valor booleano que, quando - true, indica que a instância atual é oculta. O campo- hiddenestá presente somente para membros ocultos.
- hello.tags
- Um 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.getLastErrorModese- settings.getLastErrorDefaults.
 - Para obter mais informações, consulte Configurar conjuntos de tags de conjunto de réplica. - Dica
- hello.me
- O - [hostname]:[port]do membro que devolveu- hello.
- hello.electionId
- Um 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.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 - majorityleituras.
 - 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.