Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

db.collection.stats() (método mongosh)

MongoDB com drivers

Esta página documenta um método mongosh. Para ver o método equivalente em um driver do MongoDB, consulte a página correspondente da sua linguagem de programação:

Importante

Método mongosh

Esta página documenta um método mongosh. Esta não é a documentação para comandos de banco de dados ou drivers específicos de idioma, como Node.js.

Para o comando do banco de dados, consulte o comando collStats.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

db.collection.stats(<option>)

Retorna estatísticas sobre a coleção.

Retorna:

Um documento que contém estatísticas sobre a coleção especificada. Consulte collStats para um detalhamento das estatísticas retornadas.

Observação

db.collection.stats() chama internamente o estágio de agregação $collStats por padrão.

O método tem o seguinte formato:

db.collection.stats({
scale: <num>, // Optional
indexDetails: <boolean>, // Optional
indexDetailsKey: <document>, // Optional
indexDetailsName: <string>. // Optional
})
Campo
Tipo
Descrição

scale

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.

indexDetails

booleano

Opcional. Se true, db.collection.stats() retornará index details além das estatísticas da coleção.

Funciona apenas para o mecanismo de armazenamento WiredTiger.

Padrão é false.

indexDetailsKey

documento

Opcional. Se indexDetails for true, você pode usar indexDetailsKey para filtrar detalhes do índice especificando a especificação da chave do índice. Somente o índice que corresponde exatamente a indexDetailsKey será retornado.

Se nenhuma correspondência for encontrada, indexDetails exibirá as estatísticas de todos os índices.

Use getIndexes() para descobrir chaves de índice. Você não pode usar indexDetailsKey com indexDetailsName.

indexDetailsName

string

Opcional. Se indexDetails for true, você pode utilizar indexDetailsName para filtrar detalhes do índice especificando o índice name. Somente o nome do índice que corresponde exatamente a indexDetailsName será retornado.

Se nenhuma correspondência for encontrada, indexDetails exibirá as estatísticas de todos os índices.

Use o getIndexes() para descobrir nomes de índice. Você não pode usar indexDetailsName com indexDetailsField.

Para especificar apenas o fator scale, o MongoDB suporta o formato legado:

db.collection.stats(<number>)

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações MongoDB na nuvem

Observação

Este comando é suportado em todos os clusters do MongoDB Atlas . Para obter informações sobre o suporte do Atlas para 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

A menos que especificado de outra forma pelo nome da métrica (como "bytes currently in the cache"), os valores relacionados ao tamanho são exibidos em bytes e podem ser substituídos por scale.

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

Dependendo do mecanismo de armazenamento, os dados retornados podem ser diferentes. Para obter detalhes sobre os campos, consulte detalhes de 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.collection.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 nó do conjunto de réplicas, as operações decollStats exigem que o nó esteja no estado PRIMARY ou SECONDARY. Se o nó estiver em outro estado, como STARTUP2, haverá erros na operação.

A filtragem em indexDetails usando indexDetailsKey ou indexDetailsName retornará apenas um único índice correspondente. Se nenhuma correspondência exata for encontrada, indexDetails mostrará informações sobre todos os índices da coleção.

O campo indexDetailsKey obtém um documento do seguinte formulário:

{ '<string>' : <value>, '<string>' : <value>, ... }

Em que <string>> é o campo indexado e <value> é a direção do índice ou o tipo de índice especial, como text ou 2dsphere. Consulte tipos de índice para obter a lista completa de tipos de índice.

A partir do MongoDB 8.0, use configurações de query em vez de adicionar filtros de índice. Os filtros de índice estão obsoletos a partir do MongoDB 8.0.

As configurações de query têm mais funcionalidades do que os filtros de índice. Além disso, os filtros de índice não são persistentes e você não pode criar facilmente filtros de índice para todos os nós de cluster. Para adicionar configurações de query e explorar exemplos, consulte setQuerySettings.

Para instâncias do MongoDB usando o mecanismo de armazenamento WiredTiger , após um desligamento impuro, as estatísticas sobre tamanho e contagem podem diminuir em até 1000 documentos, conforme relatado por collStats, dbStats, count. Para restaurar as estatísticas corretas para a coleção, execute o validate na coleção.

O db.collection.stats() inclui informações sobre índices atualmente sendo construídos. Para obter detalhes, consulte:

Os exemplos nesta página usam dados do conjunto de dados sample_mflix. Para obter detalhes sobre como carregar esse conjunto de dados em sua implantação autogerenciada do MongoDB , consulte Carregar o conjunto de dados de amostra. Se você fez modificações nos bancos de dados de amostra, talvez seja necessário descartar e recriar os bancos de dados para executar os exemplos nesta página.

A seguinte operação retorna estatísticas na coleção movies no banco de dados sample_mflix:

db.movies.stats()
{
ok: 1,
capped: false,
ns: 'sample_mflix.movies',
size: ...,
count: 21349,
avgObjSize: 1598,
storageSize: ...,
nindexes: 2,
totalIndexSize: ...,
totalSize: ...,
indexSizes: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
scaleFactor: 1
}

Se você não especificar um parâmetro scale, todos os valores de tamanho estarão em bytes.

A seguinte operação retorna os valores de tamanho em kilobytes em vez de bytes especificando um scale de 1024:

db.movies.stats( { scale : 1024 } )
{
ok: 1,
capped: false,
ns: 'sample_mflix.movies',
size: ...,
count: 21349,
avgObjSize: 1598,
storageSize: ...,
nindexes: 2,
totalIndexSize: ...,
totalSize: ...,
indexSizes: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
scaleFactor: 1024
}

A operação a seguir retorna um campo indexDetails que contém informações relacionadas a cada um dos índices da coleção:

db.movies.stats( { indexDetails : true } )
{
ok: 1,
capped: false,
ns: 'sample_mflix.movies',
count: 21349,
nindexes: 2,
indexDetails: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
indexSizes: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
scaleFactor: 1
}

Para filtrar os índices no campoindexDetails, especifique as chaves de índice com a opção indexDetailsKey ou o nome do índice com a opção indexDetailsName. Para descobrir as chaves e nomes do índice, utilize db.collection.getIndexes().

Considerando o seguinte índice:

{
"ns" : "sample_mflix.movies",
"v" : 2,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "cast_text_fullplot_text_genres_text_title_text",
"weights" : {
"cast" : 1,
"fullplot" : 1,
"genres" : 1,
"title" : 1
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 3
}

A operação a seguir filtra o documento indexDetails para um único índice usando a opção indexDetailsKey.

db.movies.stats(
{
'indexDetails' : true,
'indexDetailsKey' :
{
'_fts' : 'text',
'_ftsx' : 1
}
}
)

A operação a seguir filtra o documento indexDetails para um único índice usando a opção indexDetailsName.

db.movies.stats(
{
'indexDetails' : true,
'indexDetailsName' : 'cast_text_fullplot_text_genres_text_title_text'
}
)

Ambas as operações retornam a mesma saída:

{
ok: 1,
capped: false,
ns: 'sample_mflix.movies',
count: 21349,
nindexes: 2,
indexDetails: {
cast_text_fullplot_text_genres_text_title_text: ...
},
indexSizes: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
scaleFactor: 1
}

Para uma explicação da saída, consulte os detalhes da saída.