db.stats()
Nesta página
Descrição
db.stats(scale)
Retorna estatísticas que refletem o estado de uso de um único banco de dados.
O método
db.stats()
é um invólucro em torno do comando de banco de dadosdbStats
.
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
Este comando tem suporte limitado em clusters M0, M2 e M5 . 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
Parâmetros
O método db.stats()
tem os seguintes parâmetros opcionais:
Parâmetro | Tipo | Descrição |
---|---|---|
número | Opcional. O fator de escala para os dados de vários tamanhos. O padrão Se você especificar um fator de escala não inteiro, o MongoDB utilizará a parte inteira do fator especificado. Por exemplo, se você especificar um fator de escala de A partir da versão 4.2, a saída inclui o | |
número | Opcional. Para retornar informações sobre espaço livre alocado para coleções, configure Se a instância tiver um grande número de coleções ou índices, obter dados de uso de espaço livre pode causar atrasos no processamento. Para coletar dados |
Saída
O método db.stats()
retorna um documento com estatísticas sobre o estado do sistema de banco de dados. Uma listagem completa, incluindo detalhes do freeStorage, é semelhante à seguinte:
{ db: 'test', collections: 2, views: 0, objects: 1689, avgObjSize: 52.56542332741267, dataSize: 86.7021484375, storageSize: 100, freeStorageSize: 32, indexes: 2, indexSize: 116, indexFreeStorageSize: 36, totalSize: 216, totalFreeStorageSize: 68, scaleFactor: 1024, fsUsedSize: 60155820, fsTotalSize: 61255492, ok: 1, '$clusterTime': { clusterTime: Timestamp({ t: 1646085664, i: 1 }), signature: { hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0), keyId: Long("0") } }, operationTime: Timestamp({ t: 1646085664, i: 1 }) }
Para uma explicação da saída, consulte Saída.
Comportamento
Precisão após Desligamento Inesperado
Após o desligamento impróprio de um mongod
usando o mecanismo de armazenamento Wired Tiger, as estatísticas de contagem e tamanho informadas pelo db.stats()
podem ser imprecisas.
A quantidade de desvio depende do número de operações de inserção, atualização ou exclusão executadas entre o último ponto de verificação e o desligamento não limpo. Os pontos de verificação geralmente ocorrem a cada 60 segundos. No entanto, mongod
instâncias executadas com configurações de --syncdelay
não padrão podem ter pontos de verificação mais ou menos frequentes.
Execute validate
em cada collection no mongod
para restaurar as estatísticas depois de um desligamento impróprio.
Após um desligamento impróprio:
Restrição de estado do membro do conjunto de réplica
Para executar em um nó do conjunto de réplicas, as operações dedbStats
exigem que o nó esteja no estado PRIMARY
ou SECONDARY
. Se o nó estiver em outro estado, como STARTUP2
, haverá erros na operação.
Exemplos
Scale Output Values
Para retornar valores em kilobytes, configure a escala para 1024
:
db.stats(1024)
Observação
O fator de escala arredonda os valores para números inteiros.
Retornar um único valor
Para retornar um único valor, como indexSize
, anexe o nome do campo ao db.stats()
.
db.stats().indexSize db.stats(1024).indexSize
A saída mostra a diferença entre os valores originais e dimensionados.
118784 116
Devolver informações sobre espaço livre alocado para coleções
Para retornar informações sobre espaço livre alocado para coleções, passe o parâmetro freeStorage para db.stats()
.
O exemplo seguinte retorna o indexFreeStorageSize
em kilobytes:
db.stats( { freeStorage: 1, scale: 1024 } ).indexFreeStorageSize