Obwohl diese Frage alt ist, habe ich dieselbe Frage, und es sieht so aus, als ob es seit kurzem keine Möglichkeit mehr gibt, einen benutzerdefinierten Sharding-Schlüssel bereitzustellen.
Die annotationsbasierte Shard-Key-Konfiguration ist unter spring-data-mongodb:3.x
verfügbar ,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;
}
Ab heute spring-boot-starter-mongodb
kommt aber mit Version 2.x.