上次的介绍是说直接操作mongodb没有经过用户验证的方式,这次记录下使用需要用户验证的情况。
首先在mongo中加入用户的时候需要在首先use想授权的db,例如,如果在admin db中加入用户然后授权,在use其他库后,授权会失败的。
不需要把mongo和mongoDbFactory一起当做构造函数。
mongo的参数比较少,不支持用户验证的方式。mongo支持参数,<mongo:mongo host="59.215.191.107" port="37117" id="a" replica-set="1" write-concern="1" />
如果需要用户验证怎需要使用mongoDbFactory元素。
直接说下spring中的配置
<mongo:db-factory username="test" password="z097310" host="58.215.190.107" port="3787" dbname="todo" /> <bean id="mongoOps" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg ref="mongoDbFactory"/> </bean>
看下MongoTemplate的代码
public MongoTemplate(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory) { /* compiled code */ }
。配置好后,直接写测试用例查询
User user = new User("1","1",1,1);
mongoOps.insert(user);
DBCollection dBCollection = mongoOps.getCollection("user");
System.out.println("Number of user = " + dBCollection.getCount());