通过程序代码连接实例 本页介绍了如何通过程序代码连接实例。 Java示例 通过Java连接实例的方式有无需下载SSL证书连接和用户下载SSL证书连接两种,其中使用SSL证书连接通过了加密功能,具有更高的安全性。文档数据库服务新实例默认关闭SSL数据加密。SSL连接实现了数据加密功能,但同时也会增加网络连接响应时间和CPU消耗。 参数说明。 参数 说明 username 当前用户名。 password 当前用户的密码。 instanceip 如果通过弹性云服务器连接,“instanceip”是主机IP,即“基本信息”页面该实例的“IPV4内网地址”。如果通过连接了公网的设备访问,“instanceip”为该实例已绑定的“弹性公网IP”。如果需要配置高可用地址,即“基本信息”页面该实例的“数据库连接”。 instanceport 端口,默认8030,集群默认9030。当前端口,参考“基本信息”页面该实例的“数据库端口”。 databasename 数据库名,即需要连接的数据库名。 authSource 鉴权用户数据库,取值为admin。 ssl 连接模式,值为true代表是使用ssl连接模式。 Maven配置。 org.mongodb mongojavadriver 3.12.10 无证书连接。 public class Connector { public static void main(String[] args) { try { ConnectionString connString new ConnectionString("mongodb:// : @ : / ?authSourceadmin"); MongoClientSettings settings MongoClientSettings.builder() .applyConnectionString(connString) .retryWrites(true) .build(); MongoClient mongoClient MongoClients.create(settings); MongoDatabase database mongoClient.getDatabase("admin"); BsonDocument command new BsonDocument("ping", new BsonInt64(1)); Document commandResult database.runCommand(command); System.out.println("Connect to database successfully"); } catch (Exception e) { e.printStackTrace(); System.out.println("Connect failed"); } } } 使用SSL证书连接。 使用keytool工具配置CA证书: keytool importcert trustcacerts file keystore storepass 在程序中设置JVM 系统属性以指向正确的信任库和密钥库: System.setProperty("javax.net.ssl.trustStore"," "); System.setProperty("javax.net.ssl.trustStorePassword"," "); Java Code: public class Connector { public static void main(String[] args) { try { System.setProperty("javax.net.ssl.trustStore", "./conf/certs.keystore"); System.setProperty("javax.net.ssl.trustStorePassword", "password"); ConnectionString connString new ConnectionString("mongodb:// : @ : / ?authSourceadmin&ssltrue"); MongoClientSettings settings MongoClientSettings.builder() .applyConnectionString(connString) .applyToSslSettings(builder > builder.enabled(true)) .applyToSslSettings(builder > builder.invalidHostNameAllowed(true)) .build(); MongoClient mongoClient MongoClients.create(settings); MongoDatabase database mongoClient.getDatabase("admin"); BsonDocument command new BsonDocument("ping", new BsonInt64(1)); Document commandResult database.runCommand(command); System.out.println("Connect to database successfully"); } catch (Exception e) { e.printStackTrace(); System.out.println("Connect failed"); } } }