Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Administración

setIndexCommitQuorum (comando de base de datos)

setIndexCommitQuorum

Cambia la cantidad mínima de miembros que llevan datos (es decir, quórum de confirmación), incluido el principal, que deben completar un proceso en curso. creación simultánea de índices antes de que la marca principal marque esos índices como listos.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

El comando tiene la siguiente sintaxis:

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

El comando toma los siguientes campos:

Campo
Tipo
Descripción

string

El nombre de la colección para la que se están construyendo los índices.

array

Un arreglo de creaciones de índices en progreso para modificar. Cada elemento del arreglo debe ser el nombre del índice.

Los índices especificados para indexNames deben corresponder al conjunto completo de compilaciones en proceso asociadas a un constructor de índices en particular, es decir, los índices compilados por una única createIndexes o db.collection.createIndexes() operación.

int or string

El número mínimo de miembros con datos en un set de réplicas (es decir, quórum de confirmación), incluido el principal, que debe informar una creación de índices exitosa antes de que el primario marque el indexes como listo.

A partir de MongoDB v5.0, es posible reanudar algunas creaciones de índices interrumpidas cuando el quórum de confirmación está configurado en "votingMembers".

Los nodos del conjunto de réplicas en un quórum de confirmación deben tener members[n].buildIndexes establecido true en. Si algún nodo con derecho a voto tiene members[n].buildIndexes establecido false en, no podrá usar el "votingMembers" quórum de confirmación predeterminado. Configure todos los nodos con members[n].buildIndexes establecido en true o seleccione un quórum de confirmación diferente.

Admite los siguientes valores:

  • "votingMembers" - todos los nodos votantes con datos del set de réplicas (por defecto). Nodo "votante" es cualquier nodo del set de réplicas donde members[n].votes es mayor que 0.

  • "majority" - una mayoría simple de miembros del conjunto de réplicas que contienen datos.

  • <int> - un número específico de miembros del set de réplicas que contienen datos. Especifica un número entero mayor que 0.

  • Un nombre de etiqueta de un set de réplicas.

comment

any

Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:

Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.).

Nota

Requiere featureCompatibilityVersion 4.4+

Cada mongod en el set de réplicas o clúster debe tener featureCompatibilityVersion configurada al menos en 4.4 para iniciar la creación de índices simultáneamente en los miembros del set de réplicas.

Emitir setIndexCommitQuorum no tiene efecto en la creación de índices iniciada con un commitQuorum de 0.

Importante

Los nodos del set de réplicas con buildIndexes configurados en false no pueden incluirse en un quórum de confirmación.

La creación de índices en un set de réplicas o en un clúster se realiza simultáneamente en todos los miembros del set de réplicas que contienen datos. Para clústeres fragmentados, la creación de índices solo ocurre en fragmentos que contienen datos para la colección que se está indexando. El primario requiere un número mínimo de nodos portadores de datos voting (es decir, quórum de confirmación), incluido él mismo, que deben completar la compilación antes de marcar el índice como listo para usar. Consulta creación de índices en entornos replicados para obtener más información.

La siguiente operación inicia una creación de índices de dos índices:

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

De forma predeterminada, las compilaciones de índices utilizan el quórum de confirmación "votingMembers", o todos los miembros del conjunto de réplicas con derecho a voto que contienen datos. La siguiente operación modifica el quórum de confirmación de la compilación de índices a "majority", o una mayoría simple de miembros con derecho a voto que contienen datos:

db.getSiblingDB("examples").runCommand(
{
"setIndexCommitQuorum" : "invoices",
"indexNames" : ["invoices_1", "fullfillmentStatus_1"],
"commitQuorum" : "majority"
}
)
  • Los índices especificados en indexNames deben ser todo el conjunto de las compilaciones en progreso asociadas a un determinado creador de índices, es decir, la operación createIndexes().

  • El campo indexNames especifica los nombres de los índices. Dado que los índices fueron creados sin un nombre explícito, MongoDB generó un nombre de índice concatenando los nombres de los campos indexados y el orden de clasificación.

Volver

setFeatureCompatibilityVersion

En esta página