这里的示例代码都是简要代码,详细代码可以参考我打包好的代码,地址:百度云 mongo-demo.rar
连接到客户端:
/**
* MongoDB 连接到客户端示例
*
* 之前版本的 Mongo mongo = new Mongo() 已经不建议使用了
*/
public MongoClient connect() {
// 方法一:
MongoClient mongoClient_1 = new MongoClient();
// 方法二:
MongoClient mongoClient_2 = new MongoClient("localhost");
// 方法三:
MongoClient mongoClient_3 = new MongoClient("localhost", 27017);
// 方法四:
MongoClient mongoClient_4 = new MongoClient(
Arrays.asList(
new ServerAddress("localhost", 27017),
new ServerAddress("localhost", 27018),
new ServerAddress("localhost", 27019)
));
// 方法五:
MongoClientURI uri = new MongoClientURI(
"mongodb://localhost:27017,localhost:27018,localhost:27019");
MongoClient mongoClient_5 = new MongoClient(uri);
// 方法六:
uri = new MongoClientURI("mongodb://localhost:27017",
MongoClientOptions.builder().cursorFinalizerEnabled(false));
MongoClient mongoClient_6 = new MongoClient();
// 关闭客户端
mongoClient_6.close();
return mongoClient_1;
}
还有很多种这里就不一一示范了。需要注意的是 MongoDB 默认不启用授权认证,只要能连接到该服务器,就可连接到 mongod。若要启用安全认证,需要更改配置文件参数auth,之前的日记没有讲授权认证,之后会专门针对授权认证进行讲解。
另外,还可以设置连接属性:mongodb://host:27017/?replicaSet=rs0&maxPoolSize=200
其中 replicaSet 是数据库复制的设置,可以去看看,maxPoolSize 是数据库连接池的大小。
可以输出打印下看看信息:
System.out.println(mongoClient_1);
Mongo{options=MongoClientOptions{description='null', readPreference=primary, writeConcern=WriteConcern{w=1, wtimeout=0, fsync=false, j=false, ...}}
连接到数据库:
MongoClient client = new MongoClient();
MongoDatabase database = client.getDatabase(databaseName);
这里有另一个方法 DB db = client.getDB(databaseName)
,但是已经不建议使用了。
测试是否成功:
database.getName()
连接到集合:
MongoCollection<Document> collection = databasegetCollection(collectionName);
collection.getNamespace();