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

setIndexCommitQuorum

Nesta página

  • Compatibilidade
  • Sintaxe
  • Campos de comando
  • Comportamento
  • Exemplos
setIndexCommitQuorum

Altera o número mínimo de membros portadores de dados (ou seja, quórum para a confirmação), incluindo o primário, que deve concluir umaconstrução de índice simultânea em andamento antes que o primário marque esses índices como prontos.

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

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

Observação

Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas para todos os comandos, consulte Comandos sem suporte.

  • 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

O comando tem a seguinte sintaxe:

db.runCommand(
{
setIndexCommitQuorum: <string>,
indexNames: [ <document> ],
commitQuorum: <int> | <string>,
comment: <any>
}
)

O comando utiliza os seguintes campos:

Campo
Tipo
Descrição
string

O nome da collection para a qual os índices estão sendo construídos.

array

Uma array de construções de índices em andamento para modificar. Cada elemento da array deve ser o nome do índice.

Os índices especificados para indexNames devem ser o conjunto inteiro de compilações em andamento associadas a um determinado construtor de índices, ou seja, os índices construídos por uma única operação createIndexes ou db.collection.createIndexes() .

int ou string

O número mínimo de nós do conjunto de réplicas contendo dados (ou seja, quórum para a confirmação), incluindo o primário, que deve relatar uma construção de índice bem-sucedida antes que o primário marque o indexes como pronto.

A partir de MongoDB v5.0, é possível retomar algumas construções de índice interrompidas quando o commit quorum está definido como "votingMembers".

Nós do conjunto de réplicas em um quorum para o commit devem ter members[n].buildIndexes definido como true. Se algum nó de votação tiver members[n].buildIndexes definido como false, você não poderá usar o "votingMembers" commit quorum padrão. Configure todos os nós com members[n].buildIndexes definido como true ou selecione um commit quorum diferente.

suporta os seguintes valores:

  • "votingMembers" - todos os membros do conjunto de réplicas de votos com dados (Padrão). Um membro "votante" é qualquer membro do conjunto de réplicas em que members[n].votes é maior que 0.

  • "majority" - uma maioria simples de membros do conjunto de réplicas com dados.

  • <int> - um número específico de membros do conjunto de réplicas com dados. Especifique um número inteiro maior que 0.

  • Um nome de tag do conjunto de réplicas.

comment
any

Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:

Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc).

Observação

Exige featureCompatibilityVersion 4.4+

Cada mongod no conjunto de réplica ou agrupamento fragmentado deve ter featureCompatibilityVersion configurado para pelo menos 4.4 para iniciar construções de índice simultaneamente entre membros do conjunto de réplicas.

A emissão setIndexCommitQuorum não tem efeito sobre as compilações de índice iniciadas com commitQuorum de 0.

Importante

Nós do conjunto de réplicas com buildIndexes definido como false não podem ser incluídos em um commit quorum.

Construir índices em um conjunto de réplicas ou cluster particionado é feito simultaneamente em todos os membros do conjunto de réplicas que contêm dados. Para clusters fragmentados, a construção de índices ocorre somente em fragmentos que contêm dados para a coleção que está sendo indexada. O primário requer um número mínimo de membros de dados voting (ou seja, quórum para a confirmação), incluindo ele próprio, que deve concluir a construção antes de marcar o índice como pronto para uso. Consulte Construções de Índice em Ambientes Replicados para obter mais informações.

A seguinte operação inicia uma construção de índice de dois índices:

db.getSiblingDB("examples").invoices.createIndexes(
[
{ "invoices" : 1 },
{ "fulfillmentStatus" : 1 }
]
)

Por padrão, as compilações de índice usam o quórum para a confirmação "votingMembers" ou todos os membros do conjunto de réplicas votantes portadores de dados. A operação a seguir modifica o quórum para a confirmação de criação de índice para "majority" ou para uma maioria simples dos nós votantes portadores de dados:.

db.getSiblingDB("examples").runCommand(
{
"setIndexCommitQuorum" : "invoices",
"indexNames" : ["invoices_1", "fullfillmentStatus_1"],
"commitQuorum" : "majority"
}
)
  • Os índices especificados para indexNames devem ser o conjunto inteiro de construções em andamento associadas a um determinado construtor de índice, ou seja, a operação createIndexes() .

  • O campo indexNames especifica os nomes dos índices. Como os índices foram criados sem um nome explícito, o MongoDB gerou um nome de índice concatenando os nomes dos campos indexados e a ordem de classificação.

Voltar

Definir versão de compatibilidade do recurso