sql >> Database teknologi >  >> NoSQL >> MongoDB

Spring Boot er ikke i stand til at opdatere sharded samling på azure cosmos db(MongoDb)

Jeg havde det samme problem, løst med følgende hack:

@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);
            }
        };
    }
}

Det ville være rart at have en annotation @ShardKey for at markere dokumentfeltet som shard og få det tilføjet til forespørgslen automatisk.



  1. Meteor:uventet mongo exit kode null. Genstarter. Hvad er dette?

  2. Mongo-forespørgsel på underfelter

  3. Mongodb java:Perist POJO klasse med generisk felt

  4. Python og MongoDB databaseudvikling