MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да използвам множество бази данни mongodb в приложението за зареждане на пролетта?

Моля, следвайте стъпките по-долу, за да настроите множество източници на данни mongodb.

  1. Дефинирайте вашите първични и вторични свойства на mongodb, както по-долу в application.properties, моля, заменете с тях своите db подробности:

    ######Primary Mongo DB########################
    spring.data.mongodb.host=localhost
    spring.data.mongodb.database=primary
    spring.data.mongodb.port=27017
    spring.data.mongodb.password=*******
    spring.data.mongodb.username=*******
    
    ###########Secondary MongoDB#####################
    mongodb.host=localhost
    mongodb.port=27017
    mongodb.database=secondary
    mongodb.username=******
    mongodb.password=******
    
  2. Сега добавете множествена конфигурация на Mongo Db..

    @Configuration
    public class MultipleMongoConfig {
    
    @Primary
    @Bean(name = "primary")
    @ConfigurationProperties(prefix = "spring.data.mongodb")
    public MongoProperties getPrimary() {
        return new MongoProperties();
    }
    
    @Bean(name = "secondary")
    @ConfigurationProperties(prefix = "mongodb")
    public MongoProperties getSecondary() {
        return new MongoProperties();
    }
    
    @Primary
    @Bean(name = "primaryMongoTemplate")
    public MongoTemplate primaryMongoTemplate() throws Exception {
        return new MongoTemplate(primaryFactory(getPrimary()));
    }
    
    @Bean(name = "secondaryMongoTemplate")
    public MongoTemplate secondaryMongoTemplate() throws Exception {
        return new MongoTemplate(secondaryFactory(getSecondary()));
    }
    
    @Bean
    @Primary
    public MongoDbFactory primaryFactory(final MongoProperties mongo) throws Exception {
        return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()),
                mongo.getDatabase());
    }
    
    @Bean
    public MongoDbFactory secondaryFactory(final MongoProperties mongo) throws Exception {
        return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()),
                mongo.getDatabase());
    }
    

    }

  3. Сега активирайте EnableMongoRepositories за вашия първичен вторичен. моля, уверете се, че сте променили basePackages = "com.example.springbootmultipledatasource.primary.repository" вашият пакет от хранилища тук

    @Configuration
    @EnableMongoRepositories(basePackages = 
    "com.example.springbootmultipledatasource.primary.repository",
        mongoTemplateRef = "primaryMongoTemplate")
     public class PrimaryMongoConfig {
    
     }
    

Вторичен шаблон на Mongo:Моля, уверете се, че сте променили пакета си за вторично хранилище тук basePackages = "com.example.springbootmultipledatasource.secondary.repository

    @Configuration
    @EnableMongoRepositories(basePackages = "com.example.springbootmultipledatasource.secondary.repository",
        mongoTemplateRef = "secondaryMongoTemplate")
   public class SecondaryMongoConfig {
   }

Сега можете да създадете свой документ, хранилище, услуга, контролер и сте готови. По-долу е моята структура на проекта, която можете да създадете или да имате различна.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Стартиране на PHP:Не може да се зареди динамична библиотека „php_mongodb.dll“

  2. Може ли MongoDB WiredTiger двигателя да се използва за предварително обобщени отчети? (подобно на MMAPv1)

  3. Как да проверя $setDifference в два масива с помощта на mongo-query

  4. Mongodb вмъква документ без поле _id

  5. MongoError:Неуспешна проверка на документа - Как да вмъкна и float, и int в едно и също поле - което е маркирано като двойно?