sql >> Database teknologi >  >> NoSQL >> MongoDB

Opretter forbindelse til MongoDB 3.0 med Java Spring

Efter mange forsøg og læsning fandt jeg en måde at få MongoDB 3.0 til at fungere med godkendelse.

Dette var en ny installation af MongoDB 3.0, ingen opgradering involveret.

Jeg brugte disse maven-afhængigheder:

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

have som forælder

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

Så i min konfigurationsfil havde jeg

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

Og endelig hvor end du har adgang til MongoTemplate-bønnen, kan du gøre

mongoTemplate.insert(objectToStore, collectionName);


  1. ServiceStack.Redis Kan ikke læse transport - BasicRedisClientManager

  2. Mongoose-opdatering opdateres ikke:{ ok:0, n:0, nÆndret:0 }

  3. Formatering af ISODate fra Mongodb

  4. Undgå samlet 16MB-grænse