Definición
commitReshardCollectionNuevo en la versión 5.0.
commitReshardCollectionbloquea las escrituras tempranas y fuerza la finalización de las operaciones de re-segmentación.Durante una operación de reestructuración de particiones, MongoDB no bloquea las escrituras hasta que la duración estimada para completar la operación de reestructuración de particiones esté por debajo de cierto valor. En MongoDB 8.0.12 o anterior, este valor es de dos segundos. En MongoDB 8.0.13 o posterior, este valor es 500 milisegundos.
Si la duración estimada actual supera el umbral, pero el plazo es aceptable para usted, puede finalizar la repartición más rápidamente llamando a
commitReshardCollection. Esto bloquea las escrituras anticipadas y obliga a que la repartición se complete.Tip
En
mongosh. Este comando también se puede ejecutar a través delsh.commitReshardCollection()método asistente.Los métodos asistente son convenientes para usuarios de
mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.
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.adminCommand( { commitReshardCollection: "<database>.<collection>" } )
El mongosh provee un método contenedor sh.commitReshardCollection().
Ejemplo
Confirmar una operación de resharding
El siguiente comando obliga a la operación de refragmentación en el sales.orders a bloquear las escrituras y completarlas:
db.adminCommand({ commitReshardCollection: "sales.orders" })