sql >> Databáze >  >> NoSQL >> MongoDB

Spring Boot není schopen aktualizovat sharded kolekci na azure cosmos db (MongoDb)

Měl jsem stejný problém, vyřešený následujícím hackem:

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

Bylo by hezké mít anotaci @ShardKey, která by pole dokumentu označila jako fragment a automaticky ji přidala do dotazu.



  1. Migrace socket.io z 0.9.x na 1.x, problémy s konfigurací RedisStore

  2. jak používat geoNear v nodejs?

  3. MongoDB Ukázkové operátory

  4. Operátor agregačního potrubí MongoDB $max