Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

db.stats()

Nesta página

  • Descrição
  • Comportamento
  • Exemplos
db.stats(scale)

Retorna estatísticas que refletem o estado de uso de um único banco de dados.

O método db.stats() é um wrapper em torno do comando de banco de dados dbStats .

O método db.stats() tem os seguintes parâmetros opcionais:

Parâmetro
Tipo
Descrição
dimensionar
número

Opcional. O fator de escala para os dados de vários tamanhos. O padrão scale é 1 para retornar dados de tamanho em bytes. Para exibir kilobytes em vez de bytes, especifique um valor scale de 1024.

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 1023.999, MongoDB utilizará 1023 como o fator de escala.

A partir da versão 4.2, a saída inclui o scaleFactor utilizado para dimensionar os valores de tamanho.

número

Opcional. Para retornar informações sobre espaço livre alocado para coleções, configure freeStorage para 1.

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 db.stats() sem detalhes de espaço livre, defina freeStorage como 0 ou não inclua o parâmetro.

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.

Depois de um 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:

Para executar em um membro do conjunto de réplica, as operações do dbStats exigem que o membro esteja no estado PRIMARY ou SECONDARY . Se o membro estiver em outro estado, como STARTUP2, os erros de operação.

Para retornar valores em kilobytes, defina a escala como 1024:

db.stats(1024)

Observação

O fator de escala arredonda os valores para números inteiros.

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

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
← db.shutdownServer()