Spring Data Mongo版本1.9已连接但无法进行CRUD操作

时间:2017-05-25 23:42:34

标签: java spring mongodb spring-data-mongodb

我正在使用spring数据mongodb 1.9并且我尝试将文档插入到我的mongodb但它没有抛出错误并且没有插入文档,我的spring版本是4.3.8.RELEASE,我的mongo java驱动程序版本是3.2.0,我的mongodb服务器版本是3.0,

我尝试以多种方式配置连接但是它们中的任何一个都不起作用,我尝试以下配置:

@Configuration
public class MongoConfiguration extends AbstractMongoConfiguration {

    @Override
    public String getDatabaseName() {
        return "db";
    }

    @Override
    @Bean
    public Mongo mongo() throws Exception {
        List<MongoCredential> m = new ArrayList<MongoCredential>();
        m.add(MongoCredential.createCredential("user", "db", "password".toCharArray()));
        return new MongoClient(new ServerAddress("host", port), m);
    }

}

还有:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mongo="http://www.springframework.org/schema/data/mongo"
    xsi:schemaLocation="
          http://www.springframework.org/schema/data/mongo
          http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <mongo:mongo id="mongo" host="host" port="port" />

    <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate" >
        <constructor-arg ref="mongo"/>
        <constructor-arg name="databaseName" value="db"/>
        <constructor-arg name="userCredentials" ref="userCredentials"/>
    </bean>

    <bean id="userCredentials" class="org.springframework.data.authentication.UserCredentials">
        <constructor-arg name="username" value="user" />
        <constructor-arg name="password" value="password" />
    </bean>

</beans>

有人可以帮我解决这个问题吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我通过安装mongodb 3.2.13,mongo java驱动程序3.4.2和spring数据mongodb 1.10.3解决了这个问题,也许我使用的版本存在版本冲突,希望这有助于其他人。

注意:两种配置中的任何一种都可以使用