我正在尝试从Lambda脚本上载文档,但是无论何时Lambda脚本启动,我一直被困在不断获取以下内容的地方:
com.mongodb.MongoSocketException: cluster0-whnfd.mongodb.net: No address associated with hostname
错误似乎很明显,但是我可以通过Mongo Compass使用相同的URL进行连接。我正在使用的Java类如下:
public class MongoStore {
private final static String MONGO_ADDRESS = "mongodb+srv://<USERNAME>:<PASSWORD>@cluster0-whnfd.mongodb.net/test";
private MongoCollection<Document> collection;
public MongoStore() {
final MongoClientURI uri = new MongoClientURI(MONGO_ADDRESS);
final MongoClient mongoClient = new MongoClient(uri);
final MongoDatabase database = mongoClient.getDatabase("test");
this.collection = database.getCollection("test");
}
public void save(String payload) {
Document document = new Document();
document.append("message", payload);
collection.insertOne(document);
}
}
我刚刚配置了我的Java类,还是在这里进行了一些更棘手的事情?
答案 0 :(得分:-2)
刚开始从Heroku迁移Python Web应用程序时,刚创建的MongoDB Atlas数据库遇到了同样的问题。
所以我意识到DNS名称cluster0.hgmft.mongodb.net根本不存在。
当我安装了dnspython库(我的应用程序是用Python编写)时,魔术就发生了,该库MongoDB客户端能够连接到我在Mongo Atlas中的数据库。