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.validate() (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:

Alterado na versão 6.2.

db.collection.validate(<documents>)

Valida uma coleção. O método escaneia os dados e índices de uma coleção para verificar se estão corretos e retorna o resultado. Para obter detalhes sobre a saída, consulte Validar saída.

Starting in version 5.0, the db.collection.validate() method can also fix inconsistencies in the collection.

As inconsistências de índice incluem:

  • Um índice é multikey, mas não há campos multikey.

  • Um índice tem multikeyPaths cobrindo campos que não são multikey.

  • Um índice não tem multikeyPaths, mas existem documentos multikey (para índices construídos antes da versão 3.4).

If any inconsistencies are detected by the db.collection.validate() command, a warning is returned and the repair flag on the index is set to true.

db.collection.validate() also validates any documents that violate the collection's schema validation rules.

The db.collection.validate() method is a wrapper around the validate command.

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

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Observação

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

  • 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

The db.collection.validate() method has the following syntax:

db.collection.validate( {
full: <boolean>, // Optional
repair: <boolean>, // Optional, added in MongoDB 5.0
checkBSONConformance: <boolean> // Optional, added in MongoDB 6.2
} )

The db.collection.validate() method can take the following optional document parameter with the fields:

Campo
Tipo
Descrição

booleano

Opcional. Um sinalizador que determina se o comando executa uma verificação mais lenta, mas mais completa, ou uma verificação mais rápida, mas menos completa.

  • Se true, executa uma verificação mais completa com a seguinte exceção:

    • A validação completa do oplog para WiredTiger ignora a verificação mais completa.
  • Se false, omite algumas verificações para uma verificação mais rápida, mas menos completa.

O padrão é false.

Para o mecanismo de armazenamento WiredTiger, somente o processo de validação full força um checkpoint e libera todos os dados na memória para o disco antes de verificar os dados no disco.

booleano

Opcional. Um sinalizador que determina se o comando executa um reparo.

  • Se true, um reparo é realizado.

  • Se false, nenhum reparo é realizado.

O padrão é false.

Só é possível executar um reparo em um nó standalone.

O reparo corrige estes problemas:

  • Se forem encontradas entradas de índice ausentes, as chaves ausentes serão inseridas no índice.

  • Se forem encontradas entradas extras do índice, as chaves extras serão removidas do índice.

  • Se documentos multikey forem encontrados para um índice que não é um índice multikey, ele será alterado para um índice multikey.

  • Se documentos multikey forem encontrados que não são especificados pelos caminhos multikey de um índice, os caminhos multikey do índice serão atualizados.

  • Se documentos corrompidos com dados BSON inválidos forem encontrados, os documentos serão removidos.

Para obter mais informações, consulte a opção --repair para mongod

Novidade na versão 5.0.

booleano

Opcional. Se true, a collection é marcada para garantir que os documentos BSON estejam em conformidade com as especificações BSON. As verificações aumentam o tempo para concluir a operação de validação. Quaisquer problemas são devolvidos como aviso.

checkBSONConformance:

  • O padrão é false.

  • Está habilitado quando full está definido como true.

  • Não pode ser usado com:

    • repair definido como true.

    • metadata definido como true.

Novidades na versão 6.2.

The db.collection.validate() method is potentially resource intensive and may impact the performance of your MongoDB instance, particularly on larger data sets.

The db.collection.validate() method obtains an exclusive lock on the collection. This will block all reads and writes on the collection until the operation finishes. When run on a secondary, the operation can block all other operations on that secondary until it finishes.

Aviso

Validation has exclusive lock requirements that affect performance on primaries and on secondaries that are servicing reads. Consider only running db.collection.validate() on nodes that are not servicing reads or writes.

Para minimizar o impacto no primário, a maioria dos membros com dados (não árbitros) votantes no cluster deve estar disponível e não deve ter atraso significativo de replicação.

To minimize the impact of the validation operation on client applications, run db.collection.validate() on a secondary node that is not servicing read requests. You can convert the current primary node to a secondary node, by running the rs.stepDown() method.

To completely isolate the db.collection.validate() operation from client traffic, choose one of the following options:

Os comandos $currentOp e currentOp incluem informações dataThroughputAverage e dataThroughputLastSecond para validar operações em andamento.

As mensagens de registro para validar operações incluem informações dataThroughputAverage e dataThroughputLastSecond.

Starting in MongoDB 6.2, the validate command and db.collection.validate() method:

  • Verifique as collections para garantir que os documentos BSON estejam em conformidade com as especificações BSON.

  • Marque coleções de séries temporais para inconsistências de dados internos.

  • Tenha uma nova opção checkBSONConformance que habilita verificações BSON abrangentes.

  • To validate a collection myCollection using the default validation setting (specifically, full: false):

    db.myCollection.validate()
    db.myCollection.validate({ })
    db.myCollection.validate( { full: false } )
  • To perform a full validation of collection myCollection, specify full: true:

    db.myCollection.validate( { full: true } )
  • Para reparar a coleção myCollection, especifique repair: true:

    db.myCollection.validate( { repair: true } )
  • To perform additional BSON conformance checks in myCollection, specify checkBSONConformance: true:

    db.myCollection.validate( { checkBSONConformance: true } )

Para obter detalhes sobre a saída, consulte Validar saída.