先决条件
先运行mongodb肯定是必须的,然后导入以下包:
import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; import com.mongodb.ServerAddress; import com.mongodb.MongoCredential; import com.mongodb.MongoClientOptions;
MongoClient
MongoClient()实例表示到数据库的连接池; 你将只需要MongoClient类的一个实例,即使有多个线程也是一样。
重要:
通常,您只能为给定的MongoDB部署(例如独立,副本集或分片群集)创建一个MongoClient实例,并在您的应用程序中使用它。 但是,如果您创建了多个实例:
连接到一个独立的MongoDB实例
以下几种方法:
1.
MongoClient mongoClient = new MongoClient( "host1" , 27017 );
2. You can specify theMongoClientURI connection string.
MongoClient mongoClient = new MongoClient(new MongoClientURI("mongodb://host1:27017"));
连接到副本集
MongoDB将自动发现主要和副本。
You can specify the members using theMongoClientURI connection string:
指定两个副本集:
MongoClient mongoClient = new MongoClient( new MongoClientURI("mongodb://host1:27017,host2:27017,host3:27017"));
至少有一个副本集和副本集选项的成员:
MongoClient mongoClient = new MongoClient( new MongoClientURI( "mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myReplicaSet"));
你可以使用ServerAddress指定副本集中的所有成员.
MongoClient mongoClient = new MongoClient( Arrays.asList(new ServerAddress("host1", 27017), new ServerAddress("host2", 27017), new ServerAddress("host3", 27017)));
连接到分片集群
要连接到分片群集,请将mongos实例或多个实例指定给MongoClient构造函数。
连接到一个mongos实例:
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
连接多个 mongos 实例:
MongoClient mongoClient = new MongoClient( new MongoClientURI("mongodb://host1:27017,host2:27017")); MongoClient mongoClient = new MongoClient( Arrays.asList(new ServerAddress("host1", 27017), new ServerAddress("host2", 27017)));
连接选项
您可以使用MongoClientURI或MongoClientOptions或两者来指定连接设置。
例如,您可以在MongoClientURI连接字符串中指定 TLS/SSL和身份验证设置:
MongoClientURI uri = new MongoClientURI("mongodb://user1:pwd1@host1/?authSource=db1&ssl=true"); MongoClient mongoClient = new MongoClient(uri);
您还可以使用MongoClientOptions来指定 TLS/SSL 和MongoCredential的认证信息:
String user; // the user name String database; // the name of the database in which the user is defined char[] password; // the password as a character array // ... MongoCredential credential = MongoCredential.createCredential(user, database, password); MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true).build(); MongoClient mongoClient = new MongoClient(new ServerAddress("host1", 27017), Arrays.asList(credential), options);
这里只是官方给的简单演示连接, 不可直接用于生产环境, 比如: 这里边没有配置读写关注, 读取偏好, 连接池配置等都是默认的. 而这些默认值直接用于生产环境肯定是不行的.
至于生产环境怎么配置, 要根据业务情况来实际分析, 我在后边会提供一个参考.
生产环境配置见: mongodb连接配置实践
参考官方文档:https://mongodb.github.io/mongo-java-driver/3.4/driver/tutorials/connect-to-mongodb/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍用 Python 连接 MySQL 的几种方式详解,包括了用 Python 连接 MySQL 的几种方式详解的使用技巧和注意事项,需要的朋友参考一下 尽管很多 NoSQL 数据库近几年大放异彩,但是像 MySQL 这样的关系型数据库依然是互联网的主流数据库之一,每个学 Python 的都有必要学好一门数据库,不管你是做数据分析,还是网络爬虫,Web 开发、亦或是机器学习,你都离不开要
本文向大家介绍JAVA mongodb 聚合几种查询方式详解,包括了JAVA mongodb 聚合几种查询方式详解的使用技巧和注意事项,需要的朋友参考一下 一、BasicDBObject 整个聚合查询是统计用户的各种状态下的用户数量为场景: 1.筛选条件: date为查询日期: 如果有多个条件:直接加Query.put("status", 0); 如果有OR筛选: 其中 new BasicDBOb
本文向大家介绍详解Spring连接数据库的几种常用的方式,包括了详解Spring连接数据库的几种常用的方式的使用技巧和注意事项,需要的朋友参考一下 本文简单的讲解使用Spring连接数据库的几种常用方法: 测试主类为: 第一种:使用spring自带的DriverManagerDataSource 配置文件如下: 第二种:C3P0数据源。 需要使c3p0的核心jar包,我使用的是c3p0-0.
本文向大家介绍Java中获取MongoDB连接的方法详解,包括了Java中获取MongoDB连接的方法详解的使用技巧和注意事项,需要的朋友参考一下 首先是所需jar包,Maven中的配置如下: 获取连接的代码如下(本中用的是模板类): 或者用如下方式获取: 附带简单增删改查的例子: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍Mybatis的几种传参方式详解,包括了Mybatis的几种传参方式详解的使用技巧和注意事项,需要的朋友参考一下 前言 前几天恰好面试一个应届生,问了一个很简单的问题:你了解过Mybatis中有几种传参方式吗? 没想到其他问题回答的很好,唯独这个问题一知半解,勉强回答了其中两种方式。 于是这篇文章就来说一说Mybatis传参的几种常见方式,给正在面试或者准备面试的朋友巩固一下。 单个
本文向大家介绍详解Java文件下载的几种实现方式,包括了详解Java文件下载的几种实现方式的使用技巧和注意事项,需要的朋友参考一下 Java文件下载的几种方式,具体如下: //支持在线打开文件的一种方式 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。