मेरे पास एक ही समस्या थी, निम्नलिखित हैक के साथ हल किया गया:
@Configuration
public class ReactiveMongoConfig {
@Bean
public ReactiveMongoTemplate reactiveMongoTemplate(ReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory,
MongoConverter converter, MyService service) {
return new ReactiveMongoTemplate(reactiveMongoDatabaseFactory, converter) {
@Override
protected Mono<UpdateResult> doUpdate(String collectionName, Query query, UpdateDefinition update,
Class<?> entityClass, boolean upsert, boolean multi) {
query.addCriteria(new Criteria("shardKey").is(service.getShardKey()));
return super.doUpdate(collectionName, query, update, entityClass, upsert, multi);
}
};
}
}
दस्तावेज़ फ़ील्ड को शार्प के रूप में चिह्नित करने के लिए एक एनोटेशन @ShardKey होना अच्छा होगा और इसे स्वचालित रूप से क्वेरी में जोड़ा जाएगा।