Las colecciones particionadas requieren un índice que admita la clave de partición. El índice puede ser un índice en la clave de partición o un índice compuesto donde la clave de partición es un prefijo del índice.
Si la colección está vacía,
sh.shardCollection()se crea el índice en la clave de particiónsi tal índice no existe ya.Si la colección no está vacía, primero se debe crear el índice antes de usar
sh.shardCollection().Si vuelves a dividir una colección utilizando
sh.reshardCollection(), no necesitas crear el índice en la nueva clave de partición de antemano. La operación de resharding compila automáticamente los índices requeridos. Para obtener más información, consulta el procedimiento de reequilibrio de una colección.
No se puede descartar ni ocultar un índice si es el único índice no oculto que admite la clave de fragmentación.
A partir de MongoDB 7.0.3, 6.0.12, y 5.0.22, puede descartar el índice de una clave de fragmentación encriptada. Para obtener más información, consulte Descartar un índice de clave de fragmentación encriptada.
Unique Indexes
MongoDB puede aplicar una restricción de unicidad en un índice de clave de partición clasificado por rango. El uso de un índice único en la clave de partición aplica la unicidad en toda la combinación de la clave y no en los componentes individuales de la clave de partición.
Para una colección fragmentada por rango, solo un índice en la clave de fragmentación, un índice compuesto donde la clave de fragmentación es un prefijo o el índice predeterminado _id pueden ser únicos. No se puede especificar una restricción de unicidad en un índice hash.
Para obtener información sobre las restricciones que se aplican a los índices únicos en las colecciones fragmentadas, cómo garantizar la unicidad de los valores de la clave de fragmentación y cómo mantener la unicidad de un campo que no es la clave de fragmentación, consulte Mantener la unicidad en clústeres fragmentados.