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
/ /

Refinar una clave de fragmento

El refinamiento de la clave de fragmento de una colección permite una distribución de datos más detallada y puede abordar situaciones en las que la clave existente ha llevado a fragmentos gigantes debido a cardinalidad insuficiente.

Advertencia

No se modifique el rango ni el tipo encriptada de ninguno de los campos clave de partición actuales. Causa inconsistencias de datos. Por ejemplo, no se debe modificar una clave de partición de { customer_id: 1 } a { customer_id: "hashed", order_id: 1 }.

Nota

A partir de MongoDB,5.0 también puede reparticionar su colección proporcionando una nueva clave de fragmento. Para saber si debe repartir su colección o refinar su clave de fragmento, consulte Cambiar una clave de fragmento.

Para refinar la clave de partición de una colección, utiliza el comando refineCollectionShardKey. El refineCollectionShardKey añade un campo o campos de sufijo a la clave existente para crear la nueva clave de partición.

Por ejemplo, puede tener una orders colección en una test base de datos con la clave de { customer_id: 1 } fragmento. Puede usar el comando para cambiar la clave de fragmento a la nueva clave refineCollectionShardKey de { customer_id: 1, order_id: 1 } fragmento:

db.adminCommand( {
refineCollectionShardKey: "test.orders",
key: { customer_id: 1, order_id: 1 }
} )

Volver

Cambiar la clave de fragmentación