sql >> Database >  >> NoSQL >> MongoDB

Verbinding maken met MongoDB 3.0 met Java Spring

Na veel pogingen en lezen vond ik een manier om MongoDB 3.0 te laten werken met authenticatie.

Dit was een nieuwe installatie van MongoDB 3.0, er was geen upgrade bij betrokken.

Ik heb deze maven afhankelijkheden gebruikt:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
    <version>1.6.2.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.0.0</version>
</dependency>

hebben als ouder

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.2.RELEASE</version>
</parent>

Dan had ik in mijn configuratiebestand

/**
 * DB connection Factory
 * 
 * @return a ready to use MongoDbFactory
 */
@Bean
public MongoDbFactory mongoDbFactory() throws Exception {

    // Set credentials      
    MongoCredential credential = MongoCredential.createCredential(mongoUser, databaseName, mongoPass.toCharArray());
    ServerAddress serverAddress = new ServerAddress(mongoHost, mongoPort);

    // Mongo Client
    MongoClient mongoClient = new MongoClient(serverAddress,Arrays.asList(credential)); 

    // Mongo DB Factory
    SimpleMongoDbFactory simpleMongoDbFactory = new SimpleMongoDbFactory(
            mongoClient, databaseName);

    return simpleMongoDbFactory;
}

/**
 * Template ready to use to operate on the database
 * 
 * @return Mongo Template ready to use
 */
@Bean
public MongoTemplate mongoTemplate() throws Exception {
    return new MongoTemplate(mongoDbFactory());
}

En tot slot kun je overal waar je toegang hebt tot de MongoTemplate-boon

mongoTemplate.insert(objectToStore, collectionName);


  1. Strings samenvoegen in SQL

  2. Rails Puma heeft geen Redis-verbindingen meer

  3. Hoe te controleren of een arrayveld deel uitmaakt van een andere array in MongoDB?

  4. MongoDB-aggregatie met $ lookup omvat (of projecteert) alleen enkele velden die moeten worden geretourneerd uit de query