setIndexCommitQuorum
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.
Compatibilidade
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
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { setIndexCommitQuorum: <string>, indexNames: [ <document> ], commitQuorum: <int> | <string>, comment: <any> } )
Campos de comando
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 | |
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 A partir de MongoDB v5.0, é possível retomar algumas construções de índice interrompidas quando o commit quorum está definido como Nós do conjunto de réplicas em um quorum para o commit devem ter suporta os seguintes valores:
| |
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). |
Comportamento
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.
Exemplos
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çãocreateIndexes()
.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.