我正在尝试将 MongoDB Atlas 与 Java 连接。这是我的代码
MongoClientSettings.Builder mongoClientSettingsBuilder = MongoClientSettings.builder()
.credential(mongoCredential)
.applyToClusterSettings(builder -> builder.hosts(new ServerAddress("dev-20937-liwy3.gcp.mongodb.net", 27017)));
MongoClientSettings settings = mongoClientSettingsBuilder.build();
MongoClient mongoClient = MongoClients.create(settings);
Run Code Online (Sandbox Code Playgroud)
通过这样做,我收到以下错误
INFO: Cluster description not yet available. Waiting for 30000 ms before timing out
Mar 26, 2020 11:33:41 AM com.mongodb.diagnostics.logging.JULLogger log
Exception in thread "main" com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=dev-20937-liwy3.gcp.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: dev-20937-liwy3.gcp.mongodb.net}, caused by {java.net.UnknownHostException: dev-20937-liwy3.gcp.mongodb.net}}]
Run Code Online (Sandbox Code Playgroud)
我不知道错误的原因。据我猜测,我的主机名是错误的。
有人可以帮我解决这个问题吗
转到您的MongoDB Atlas-> NetworkAccess-> 编辑 -> 并添加Current IP address它的作品!!
// Create a Mongo client
MongoClient mongo = new MongoClient( "localhost" , 27017 );
// Creating Credentials
MongoCredential credential;
credential = MongoCredential.createCredential("User", "DB",
"pass".toCharArray());
System.out.println("Connected to the database successfully");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22904 次 |
| 最近记录: |