setIndexCommitQuorumCambia el número mínimo de miembros portadores de datos (es decir, cuórum de confirmación), incluido el principal, que deben completar una tarea en curso. creación simultánea de índices antes de que la marca principal marque esos índices como listos.
Compatibilidad
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.
Sintaxis
El comando tiene la siguiente sintaxis:
db.runCommand( { setIndexCommitQuorum: <string>, indexNames: [ <document> ], commitQuorum: <int> | <string>, comment: <any> } )
Campos de comandos
El comando toma los siguientes campos:
Campo | Tipo | Descripción |
|---|---|---|
| El nombre de la colección para la que se están construyendo los índices. | |
| Una matriz de compilaciones de índices en curso para modificar. Cada elemento de la matriz debe ser el nombre del índice. Los índices especificados como | |
| 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 A partir de MongoDB v,5.0 es posible reanudar algunas compilaciones de índices interrumpidas cuando el cuórum de confirmación se establece Los nodos del conjunto de réplicas en un quórum de confirmación deben tener Admite los siguientes valores:
| |
| 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.). |
Comportamiento
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.
La emisión setIndexCommitQuorum de no tiene efecto en las compilaciones de índices iniciadas con un quórum de confirmación 0 de.
Importante
Los nodos del conjunto de réplicas con buildIndexes establecidos en false no se pueden incluir en un cuórum de confirmación.
Ejemplos
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 la creación 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
indexNamesespecificados en deben ser el conjunto completo de compilaciones en curso asociadas a un generador de índices determinado, es decir, lacreateIndexes()operación.El
indexNamescampo especifica los nombres de los índices. Dado que los índices se crearon sin un nombre explícito, MongoDB generó un nombre de índice concatenando los nombres de los campos indexados y el orden de ordenación.