Pomimo tego, że to pytanie jest stare, mam to samo pytanie i wygląda na to, że od niedawna nie ma możliwości dostarczania niestandardowego klucza shardingu.
Konfiguracja klucza fragmentu oparta na adnotacjach jest dostępna w spring-data-mongodb:3.x
,https://docs.spring .io/spring-data/mongodb/docs/3.0.x/reference/html/#sharding
@Document("users")
@Sharded(shardKey = { "country", "userId" })
public class User {
@Id
Long id;
@Field("userid")
String userId;
String country;
}
Na dzień dzisiejszy spring-boot-starter-mongodb
jest jednak wyposażony w wersję 2.x.