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 modifique el rango ni el tipo de hash de ninguno de los campos de la clave de fragmento actual. Esto provoca inconsistencias en los datos. Por ejemplo, no modifique una clave de fragmento 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 fragmento de una colección, use el refineCollectionShardKey comando. El comando agrega uno o más campos de sufijo a la clave existente para crear la nueva clave de refineCollectionShardKey fragmento.

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