db.serverStatus()Retorna um documento que fornece uma visão geral do estado do processo do banco de dados.
Este comando fornece um wrapper em torno do comando do banco de dados
serverStatus.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
- MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Esse comando não é suportado em clusters M0 e Flex. Para obter mais informações, 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
Comportamento
Por padrão, exclui em suadb.serverStatus() saída:
algum conteúdo no documento repl .
Documento mirroredReads.
Para incluir campos que são excluídos por padrão, especifique o campo de nível superior e defina-o para 1 no comando. Para excluir campos incluídos por padrão, especifique o campo e defina como 0. Você pode especificar campos incorporados ou de nível superior.
Por exemplo, a seguinte operação suprime as informações repl, metrics e locks na saída.
db.serverStatus( { repl: 0, metrics: 0, locks: 0 } )
O exemplo a seguir inclui todas as informações de resposta na saída:
db.serverStatus( { repl: 1 } )
Excluir todos os campos opcionais
A partir do MongoDB 8.3, você pode excluir todos os campos opcionais da saída db.serverStatus() especificando none: 1. Depois de excluir todos os campos opcionais, você pode especificar os campos que deseja incluir.
Este exemplo usa none para excluir inicialmente todos os campos opcionais da saída e, em seguida, inclui o documento locks.
db.serverStatus({ none: 1, locks: 1 })
Inicialização
As estatísticas relatadas por db.serverStatus() são redefinidas quando o mongod servidor é reiniciado. O db.serverStatus() comando não relata algumas estatísticas até que elas tenham sido inicializadas por eventos do servidor .
Por exemplo, após reiniciar o mongod servidor , não retornará nenhumdb.serverStatus() valor findAndModify para.
db.serverStatus().metrics.commands.findAndModify // No results returned
Após executar uma consulta de atualização, as chamadas subsequentes para db.serverStatus() exibem as métricas esperadas.
{ "arrayFilters" : Long(0), "failed" : Long(0), "pipeline" : Long(0), "total" : Long(1) }
Observação
O método db.serverStatus() retorna um erro se for feita uma consulta de um objeto específico antes que os contadores tenham começado a incrementar.
Se ainda não houve nenhuma atualização do documento:
db.serverStatus().metrics.commands.update.pipeline
Retorna:
TypeError: db.serverStatus(...).metrics.commands.update is undefined : @(shell):1:1
Incluir mirroredReads
Por padrão, as informações de mirroredReads não são incluídas na saída. Para retornar informações de mirroredReads, é necessário especificar explicitamente a inclusão:
db.serverStatus( { mirroredReads: 1 } )
Saída
Consulte serverStatus Output para obter a documentação completa da saída desta função.