Vamos imaginar que eu tenho duas coleções de fragmentos do mongodb: curtidas e comentários.
Ambas as coleções são fragmentadas, ambas as coleções têm userId como uma chave fragmentada.
Vamos imaginar que a coleção de curtidas é enorme e a coleção de comentários é pequena. Eu tenho 10 fragmentos no total, vamos nomeá-los de fragmento A para fragmento G.
Posso supor que, se as curtidas de algum usuário específico estiverem no fragmento A, seus comentários também estarão no fragmento A?
Então, o que eu quero alcançar é ter os dados de qualquer usuário específico no mesmo shard. As curtidas de outros usuários podem estar no fragmento C, então seus comentários também devem estar no fragmento C.
É possível configurar o MongoDB? (ou é a maneira como está funcionando por padrão?)
Sim, se você deseja controlar a localização dos dados, deve usar Zonas . Siga este link para uma melhor explicação sobre como fazer isso: https://docs.mongodb.com/manual/tutorial/sharding-segmenting-shards/ .