O refinamento da chave fragmentada de uma coleção permite uma distribuição de dados mais refinada e pode resolver situações em que a chave existente levou a blocos jumbo devido à cardinalidade insuficiente.
Aviso
Não modifique o intervalo ou o tipo de hash de nenhum dos campos de chave de fragmento atuais. Isso causa inconsistências de dados. Por exemplo, não modifique uma chave de shard de { customer_id: 1 } para { customer_id:
"hashed", order_id: 1 }.
Observação
Começando no MongoDB 5.0, você também pode compartilhar sua coleção fornecendo uma nova chave de fragmento para a coleção. Para saber se você deve reestruturar sua coleção ou refinar sua chave de fragmento, consulte Alterar uma chave de fragmento.
Para refinar a chave de fragmento de uma coleção, use o comando refineCollectionShardKey. refineCollectionShardKey adiciona um campo ou campos de sufixo à chave existente para criar a nova chave de fragmento.
Por exemplo, você pode ter uma coleção orders existente em um banco de dados test com a chave de fragmento { customer_id: 1 }. Você pode usar o comando refineCollectionShardKey para alterar a chave de fragmento antiga para a nova chave de fragmento { customer_id: 1, order_id: 1 }:
db.adminCommand( { refineCollectionShardKey: "test.orders", key: { customer_id: 1, order_id: 1 } } )