MongoDB divide automáticamente fragmentos para garantizar una distribución equitativa de los datos en el clúster y la AutoMerger fusiona automáticamente los fragmentos adyacentes que residen en la misma partición.
Para dividir fragmentos manualmente, utilice el split comando con cualquiera de los campos middle o find. mongosh proporciona los métodos auxiliares sh.splitFind() sh.splitAt()y.
splitFind() divide el fragmento que contiene el primer documento devuelto que coincide con esta consulta en dos fragmentos de igual tamaño. Se debe especificar el espacio de nombres completo (es decir. "<database>.<collection>") de la colección particionada a splitFind(). La consulta en splitFind() no necesita utilizar la clave de partición, aunque casi siempre tiene sentido hacerlo.
Ejemplo
El siguiente comando divide el fragmento que contiene el valor de 63109 para el campo zipcode en la colección people de la base de datos records:
sh.splitFind( "records.people", { "zipcode": "63109" } )
Utilice splitAt() para dividir un fragmento en dos, empleando el documento consultado como límite inferior en el nuevo fragmento:
Ejemplo
El siguiente comando divide el fragmento que contiene el valor de 63109 para el campo zipcode en la colección people de la base de datos records.
sh.splitAt( "records.people", { "zipcode": "63109" } )
Nota
splitAt() no necesariamente divide el fragmento en dos fragmentos de igual tamaño. La división ocurre en la ubicación del documento que coincide con la query, independientemente de dónde se encuentre ese documento en el fragmento.