我在连接MongoDB Atlas集合时遇到一些问题。使用Mongo给出的连接说明,我已经在我的项目中完成了此操作:
MongoClientURI uri = new MongoClientURI(
"mongodb+srv://<admin>:<password>@cluster0-jufkk.gcp.mongodb.net/test?retryWrites=true");
MongoClient mongoClient = new MongoClient(uri);
MongoDatabase database = mongoClient.getDatabase("test");
database.getName();
但是当我运行它时,会抛出UnknownHostExeption
,告诉我cluster0-jufkk.gcp.mongodb.net
是未知主机。因此,我尝试过通过mongo shell进行连接:
mongo "mongodb+srv://cluster0-jufkk.gcp.mongodb.net/test" --username username
它要求我输入密码,这是打印出来的内容:
连接到: mongodb://cluster0-shard-00-01-jufkk.gcp.mongodb.net。:27017,cluster0-shard-00-02-jufkk.gcp.mongodb.net。:27017,cluster0-shard-00-00- jufkk.gcp.mongodb.net.:27017/test?authSource=admin&gssapiServiceName=mongodb&replicaSet=Cluster0-shard-00&ssl=true 2019-04-10T15:52:07.396 + 0200 I NETWORK [js]开始新的副本集 监视 群集0-碎片0 /群集0-碎片-00-01-jufkk.gcp.mongodb.net.:27017,群集0-碎片-00-02-jufkk.gcp.mongodb.net.:27017,群集0-碎片-00- 00-jufkk.gcp.mongodb.net.:27017 2019-04-10T15:52:07.835 + 0200我网络 [ReplicaSetMonitor-TaskExecutor]成功连接到 cluster0-shard-00-01-jufkk.gcp.mongodb.net.:27017(1个连接现在 使用5打开对cluster0-shard-00-01-jufkk.gcp.mongodb.net.:27017的访问 第二次超时)2019-04-10T15:52:07.837 + 0200我网络[js] 成功连接到 cluster0-shard-00-00-jufkk.gcp.mongodb.net.:27017(现在有1个连接 使用5打开对cluster0-shard-00-00-jufkk.gcp.mongodb.net.:27017的访问 第二次超时)2019-04-10T15:52:07.862 + 0200 I NETWORK [ReplicaSetMonitor-TaskExecutor]将主机更改为 群集0-碎片0 /群集0-碎片-00-00-jufkk.gcp.mongodb.net:27017,群集0-碎片-00-01-jufkk.gcp.mongodb.net:27017,群集0-碎片-00-02- jufkk.gcp.mongodb.net:27017 从 群集0-碎片0 /群集0-碎片-00-00-jufkk.gcp.mongodb.net.:27017,群集0-碎片-00-01-jufkk.gcp.mongodb.net.:27017,群集0-碎片-00- 02-jufkk.gcp.mongodb.net.:27017 2019-04-10T15:52:07.992 + 0200我网络 [ReplicaSetMonitor-TaskExecutor]成功连接到 cluster0-shard-00-00-jufkk.gcp.mongodb.net:27017(现在有1个连接 打开带有5的cluster0-shard-00-00-jufkk.gcp.mongodb.net:27017 第二次超时)2019-04-10T15:52:08.003 + 0200我网络[js] 成功连接到 cluster0-shard-00-01-jufkk.gcp.mongodb.net:27017(现在有1个连接 用5打开到cluster0-shard-00-01-jufkk.gcp.mongodb.net:27017 第二次超时)2019-04-10T15:52:08.245 + 0200 I NETWORK [js]标记 主机cluster0-shard-00-01-jufkk.gcp.mongodb.net:27017失败:: 由::位置40659引起:无法连接到新的副本集主服务器 [cluster0-shard-00-01-jufkk.gcp.mongodb.net:27017],错误:Location8000: 验证失败。 2019-04-10T15:52:08.289 + 0200我网络 [ReplicaSetMonitor-TaskExecutor]成功连接到 cluster0-shard-00-02-jufkk.gcp.mongodb.net:27017(现在有1个连接 打开带有5的cluster0-shard-00-02-jufkk.gcp.mongodb.net:27017 第二次超时)2019-04-10T15:52:08.406 + 0200 I NETWORK [js]标记 主机cluster0-shard-00-00-jufkk.gcp.mongodb.net:27017失败:: 由:: Location8000引起:无法针对副本集节点进行身份验证 cluster0-shard-00-00-jufkk.gcp.mongodb.net:27017 ::由::引起 验证失败。 2019-04-10T15:52:08.566 + 0200我网络[js] 将主机cluster0-shard-00-02-jufkk.gcp.mongodb.net:27017标记为 由:: Location8000引起的::失败:无法针对 副本集节点cluster0-shard-00-02-jufkk.gcp.mongodb.net:27017 :: 由::验证失败引起。 2019-04-10T15:52:08.734 + 0200我 网络[js]标记主机 cluster0-shard-00-01-jufkk.gcp.mongodb.net:27017失败::引起 by :: Location40659:无法连接到新的副本集主服务器 [cluster0-shard-00-01-jufkk.gcp.mongodb.net:27017],错误:Location8000: 验证失败。 2019-04-10T15:52:08.736 + 0200 E查询[js] 错误:无法针对副本集节点进行身份验证 cluster0-shard-00-01-jufkk.gcp.mongodb.net:27017 ::由::引起 连接到新的副本集母版 [cluster0-shard-00-01-jufkk.gcp.mongodb.net:27017],错误:Location8000: 验证失败。 :connect@src/mongo/shell/mongo.js:343:13 @(connect):2:6异常:连接失败
我的凭据是正确的。用户名包含@,因此我尝试使用%40和不使用它,但是结果是相同的。如何进一步检查问题出在哪里?