sql >> Databasteknik >  >> NoSQL >> MongoDB

Ansluter till MongoDB 3.0 med Java Spring

Efter många försök och läsning hittade jag ett sätt att få MongoDB 3.0 att fungera med autentisering.

Detta var en ny installation av MongoDB 3.0, ingen uppgradering involverad.

Jag använde dessa maven-beroenden:

<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>

ha som förälder

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

Sedan hade jag i min konfigurationsfil

/**
 * 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());
}

Och slutligen var du än har tillgång till MongoTemplate-bönan kommer du att kunna göra

mongoTemplate.insert(objectToStore, collectionName);


  1. hur släpper man cachningen som används av Mongodb?

  2. Användarmatchningsalgoritm

  3. Hur uppdaterar man värdet för ett specifikt inbäddat dokument, inuti en array, för ett specifikt dokument i MongoDB?

  4. Skärning mellan två eller flera sorterade uppsättningar