使用Java驱动程序连接MongoDB服务器时出现问题

使用Java驱动程序连接MongoDB服务器时出现问题,java,mongodb,ssh,Java,Mongodb,Ssh,我正在尝试连接到网络上的mongoDB服务器。我可以通过RoboMongo连接到它,但不能通过Java使用他们的MongoDB驱动程序 我做了一些挖掘,并意识到在RoboMongo的连接设置中,它使用SSH隧道进行连接 我目前正在用java尝试当前的代码,但它不起作用。有没有一种方法可以通过SSH连接他们的Java驱动程序 import com.mongodb.MongoClient; import com.mongodb.DB; import java.net.UnknownHostExcep

我正在尝试连接到网络上的mongoDB服务器。我可以通过RoboMongo连接到它,但不能通过Java使用他们的MongoDB驱动程序

我做了一些挖掘,并意识到在RoboMongo的连接设置中,它使用SSH隧道进行连接

我目前正在用java尝试当前的代码,但它不起作用。有没有一种方法可以通过SSH连接他们的Java驱动程序

import com.mongodb.MongoClient;
import com.mongodb.DB;
import java.net.UnknownHostException;
import java.util.Set;

public class App {

    public static void main(String[] args) throws UnknownHostException {
        System.out.println("Hello World!");
        MongoClient mongoClient = new MongoClient("hostname goes here");
        DB db = mongoClient.getDB("songo");

        Set<String> colls = db.getCollectionNames();

        for (String s : colls) {
            System.out.println(s);
        }

    }
}
import com.mongodb.MongoClient;
导入com.mongodb.DB;
导入java.net.UnknownHostException;
导入java.util.Set;
公共类应用程序{
公共静态void main(字符串[]args)引发UnknownHostException{
System.out.println(“你好,世界!”);
MongoClient MongoClient=新的MongoClient(“主机名在此显示”);
DB=mongoClient.getDB(“songo”);
Set colls=db.getCollectionNames();
for(字符串s:colls){
系统输出打印项次;
}
}
}

我尝试过使用连接字符串和其他方法。服务器也在默认端口27017上运行。

您对robomongo的连接设置是什么?它只是本地主机和27017吗?对于robomongo,它是服务器主机名和默认端口(27017)。它正在使用私钥ssh设置。我可以使用Java连接到本地Mongo安装,但不能连接远程安装。您是否在
mongodb.conf
中将
bind_ip
设置为
127.0.0.1
?这可能就是问题所在。如果是这样,请将这一行更改为您的应用程序服务器ip或删除它以获得完全访问权限(不建议这样做)。我必须与服务器负责人联系。它在我们的开发/测试机器上,所以更改设置应该不会有问题。一旦我们将其投入生产,我们将拥有一台专用服务器。