小强哥博客

小强哥,小强哥博客,技术大咖

java mongo driver使用(一,mongo连接)

java框架中操作mongo的方式很多,常见的有spring jpa、mongoTemplate等,这些框架对mongo的集成较高,使用起来也比较简单。对于刚开始使用mongo api的工程师,我个人不推荐使用这种封装好的框架,学习使用源生api可以更好的了解和使用mongo,这文章简单总结一下mongo源生api的使用,对于学习mongo、了解mong还是有一定的帮助的。

连接mongo

mongo提供多种创建连接的方式,满足线下测试、线上发布、统一配置等多种需求,如下图,

image

常用的有以下几种,

第一种
MongoClient mongoClient = new MongoClient();

第二种
MongoClient mongoClient = new MongoClient( "localhost" );

第三种
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

第四种
MongoClient mongoClient = new MongoClient(
  Arrays.asList(new ServerAddress("localhost", 27017),
                new ServerAddress("localhost", 27018),
                new ServerAddress("localhost", 27019)));

第五种                
MongoClientURI connectionString = new MongoClientURI("mongodb://localhost:27017,localhost:27018,localhost:27019");
MongoClient mongoClient = new MongoClient(connectionString);

我个人推荐使用第五种,这种比较直观,可读性较高,可以在配置文件或者统一配置服务器进行配置。

连接完成以后需要指定数据库和文档集合,如下完整代码,

public void test6(){
	/*
	 * 创建连接
	 */
	MongoClientURI connectionString = new MongoClientURI("mongodb://10.99.70.37:27017");
	MongoClient mongoClient = new MongoClient(connectionString);
	/*
	 * 选择数据库
	 */
	MongoDatabase mongoDatabase = mongoClient.getDatabase("db");
	/*
	 * 选择文档集合
	 */
	MongoCollection<Document> myCollection = mongoDatabase.getCollection("mycollection");
}

源生api就这样,代码看着很多、很繁琐,掌握源生api以后后面使用各种框架、调优各种问题都很容易,毕竟底层熟悉。