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

Spring-data-mongodb се свързва с множество бази данни в един екземпляр на Mongo

Ето връзка към статия, която според мен е това, което търсите http://michaelbarnesjr.wordpress.com/2012/01/19/spring-data-mongo/

Ключът е да предоставите множество шаблони

конфигурирайте шаблон за всяка база данни.

<bean id="vehicleTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg ref="mongoConnection"/>
    <constructor-arg name="databaseName" value="vehicledatabase"/>
</bean>

конфигурирайте шаблон за всяка база данни.

<bean id="imageTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
        <constructor-arg ref="mongoConnection"/>
        <constructor-arg name="databaseName" value="imagedatabase"/>
</bean>

<bean id="vehicleTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg ref="mongoConnection"/>
    <constructor-arg name="databaseName" value="vehicledatabase"/>
</bean>

Сега трябва да кажете на Spring къде са вашите хранилища, за да може да ги инжектира. Всички те трябва да са в една и съща директория. Опитах се да ги имам в различни поддиректории и не работи правилно. Така че всички те са в директорията на хранилището.

<mongo:repositories base-package="my.package.repository">
    <mongo:repository id="imageRepository" mongo-template-ref="imageTemplate"/>
    <mongo:repository id="carRepository" mongo-template-ref="vehicleTemplate"/>
    <mongo:repository id="truckRepository" mongo-template-ref="vehicleTemplate"/>
</mongo:repositories>

Всяко хранилище е интерфейс и е написано по следния начин (да, можете да ги оставите празни):

@Repository
public interface ImageRepository extends MongoRepository<Image, String> {

}

@Repository
public interface TruckRepository extends MongoRepository<Truck, String> {

}

Името на частната променлива imageRepository е колекцията! Image.java ще бъдат запазени в колекцията от изображения в базата данни imagedb.

Ето как можете да намерите , вмъкнете и изтриване записи:

@Service
public class ImageService {

    @Autowired
    private ImageRepository imageRepository;
}

Чрез Autowiring свързвате името на променливата с името (id) във вашата конфигурация.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB множество мастери в ReplicaSet

  2. намерете в MongoCollection<Document>

  3. използвайки $и с $match в mongodb

  4. Вмъкване в силно вложен документ MongoDB

  5. как да публикувате произволен json обект в webapi