Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

checkMetadataConsistency

Nesta página

  • Definição
  • Sintaxe
  • Campos de comando
  • Saída
  • Comportamento
  • Resultados em lote
  • Verificar índices
  • Exemplo
checkMetadataConsistency

Executa uma série de verificações de consistência sobre a fragmentação de metadados para um cluster, reconhecimento de data center ou collection. O comando retorna um cursor com todos ou um lote dos resultados de inconsistência encontrados.

Dica

No mongosh, este comando também pode ser executado através dos métodos de auxiliar do db.checkMetadataConsistency(), db.collection.checkMetadataConsistency() ou sh.checkMetadataConsistency() .

Os métodos auxiliares são práticos para os usuários mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.

Execute este comando após as principais operações de manutenção, como atualizações e downgrades, para verificar o estado do catálogo.

Por padrão, o comando não verifica a consistência dos índices nos fragmentos. Para verificar índices, defina a opção checkIndexes .

Novidades na versão 7.0.

  • Para verificar se há inconsistências de metadados de fragmentação em todo o cluster, execute o comando a partir do reconhecimento de data center admin .

    db.getSiblingDB("admin").runCommand( {
    checkMetadataConsistency: 1
    } )
  • Para verificar se há inconsistências de metadados de fragmentação no reconhecimento de data center, execute o comando a partir do contexto do reconhecimento de data center:

    use cars
    db.runCommand( {
    checkMetadataConsistency: 1
    } )
  • Para verificar se há inconsistências de metadados de fragmentação em uma collection, execute o comando com a opção coll :

    use library
    db.runCommand( {
    checkMetadataConsistency: 1,
    coll: "authors",
    } )
Campo
Tipo
Descrição
checkIndexes
booleano

Define se o comando também verifica índices em metadados de fragmentação.

Para obter mais informações, consulte Verificar índices.

coll
string
Define a collection para verificar se há inconsistências de metadados de sharding.
cursor
documento
Configura o cursor de retorno.
cursor.batchSize
inteiro
Número máximo de resultados de inconsistência a serem incluídos em cada lote.

O comando checkMetadataConsistency retorna um cursor com um documento para cada inconsistência encontrada no fragmento de metadados.

O documento de devolução tem os seguintes campos:

Campo
Tipo
Descrição
cursor
documento
Cursor com os resultados das verificações de inconsistência.
cursor.id
inteiro

Um número inteiro de 64 bits indicava o ID do cursor. Use o valor cursor.id com o comando getMore para recuperar o próximo lote de inconsistências.

Se o cursor retornar um ID de 0, isso indicará que não há mais lotes de informações.

cursor.ns
string
O reconhecimento de data center e a collection verificaram se há inconsistências.
cursor.firstBatch
array
Resultados das verificações de consistência dos metadados.
ok
booleano
Indica se o comando foi bem-sucedido.

O comando checkMetadataConsistency retorna resultados em lotes. Para personalizar o tamanho do lote, a opção batchSize :

var cur = db.runCommand( {
checkMetadataConsistency: 1,
cursor: {
batchSize: 10
}
} )

Se o campo cursor.id for maior que 0, você poderá utilizar com o comando getMore para recuperar o próximo lote de resultados.

O comando checkMetadataConsistency não verifica índices por padrão. Para verificar a consistência e os índices dos metadados, utilize a opção checkIndexes :

db.runCommand( {
checkMetadataConsistency: 1,
checkIndexes: true
} )

Use runCommand() para executar o comando checkMetadataConsistency :

db.runCommand( { checkMetadataConsistency: 1 } )

Exemplo de saída:

{
cursor: {
id: Long("0"),
ns: "test.$cmd.aggregate",
firstBatch: [
{
type: "MisplacedCollection",
description: "Unsharded collection found on shard different from database primary shard",
details: {
namespace: "test.authors",
shard: "shard02",
localUUID: new UUID("1ad56770-61e2-48e9-83c6-8ecefe73cfc4")
}
}
],
},
ok: 1
}

Voltar

balancerStop

Próximo

clearJumboFlag