sql >> データベース >  >> NoSQL >> MongoDB

Spring-data-mongodbは1つの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;
    }
    

    自動配線により、変数名を構成内の名前(id)に一致させます。



    1. Meteorサーバー側でmongoグループを実行する方法

    2. MongoDB-全文検索を使用して単語やフレーズを検索する場合の論理OR

    3. アルパインLinuxでmongodbバイナリを実行する

    4. MongoDB _id(ObjectId)は昇順で生成されますか?