MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để sử dụng nhiều cơ sở dữ liệu mongodb trong ứng dụng khởi động mùa xuân?

Vui lòng làm theo các bước dưới đây để thiết lập nhiều nguồn dữ liệu mongodb.

  1. Xác định các thuộc tính mongodb chính và phụ của bạn như bên dưới trong application.properties, vui lòng thay thế chúng bằng chi tiết db của bạn:

    ######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. Bây giờ hãy thêm nhiều cấu hình 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. Bây giờ hãy bật EnableMongoRepositories đối với chính của bạn là phụ. vui lòng đảm bảo rằng bạn thay đổi basePackages = "com.example.springbootmultipledatasource.primary.repository" gói kho lưu trữ của bạn ở đây

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

Mẫu Mongo phụ:Hãy đảm bảo rằng bạn thay đổi gói kho lưu trữ phụ của mình tại đây basePackages = "com.example.springbootmultipledatasource.secondary.repository

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

Giờ đây, bạn có thể tạo tài liệu, kho lưu trữ, dịch vụ, bộ điều khiển của mình và bạn đã sẵn sàng. Dưới đây là cấu trúc dự án của tôi mà bạn có thể tạo hoặc có các cấu trúc khác.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb tổng hợp sắp xếp và giới hạn trong nhóm

  2. Chỉ trả lại các trường cụ thể cho một truy vấn trong dữ liệu mùa xuân MongoDB

  3. Làm cách nào tôi có thể sử dụng mongodump để kết xuất các bản ghi phù hợp với một phạm vi ngày cụ thể?

  4. Kích thước tối đa cho GridFS trên MongoDB là bao nhiêu?

  5. Làm thế nào để truy vấn mongodb với "like" bằng cách sử dụng java api?