MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara menggunakan beberapa database mongodb di aplikasi boot musim semi?

Ikuti langkah-langkah di bawah ini untuk menyiapkan beberapa sumber data mongodb.

  1. Tentukan properti mongodb primer dan sekunder Anda seperti di bawah ini di application.properties, harap ganti dengan mereka detail db Anda:

    ######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. Sekarang tambahkan Beberapa Konfigurasi 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. Sekarang aktifkan EnableMongoRepositories untuk primer dan sekunder Anda. pastikan Anda mengubah basePackages = "com.example.springbootmultipledatasource.primary.repository" paket repositori Anda di sini

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

Template Mongo Sekunder:Pastikan Anda mengubah paket repositori sekunder Anda di sini basePackages = "com.example.springbootmultipledatasource.secondary.repository

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

Sekarang Anda dapat membuat dokumen, repositori, layanan, pengontrol, dan Anda siap melakukannya. Di bawah ini adalah struktur proyek saya yang dapat Anda buat atau buat yang berbeda.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Haruskah saya mengubah nilai kacang mongo saat digunakan di server produksi?

  2. Bagaimana saya bisa menonaktifkan logging MongoDB?

  3. Dapatkan data dari koleksi b tidak dalam koleksi a dalam kueri shell MongoDB

  4. Lima Tips untuk Hosting MongoDB yang Lebih Baik di Azure

  5. Mongodb:`com.mongodb.MongoSocketReadException:Prematur mencapai akhir aliran` dengan morphia