Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash Go和MongoDB连接获胜';“不要使用紧急日志”;“无可访问服务器”;_Bash_Mongodb_Go_Mgo - Fatal编程技术网

Bash Go和MongoDB连接获胜';“不要使用紧急日志”;“无可访问服务器”;

Bash Go和MongoDB连接获胜';“不要使用紧急日志”;“无可访问服务器”;,bash,mongodb,go,mgo,Bash,Mongodb,Go,Mgo,我正在使用mGo作为另一个MongoDB系统的Go Web应用程序的驱动程序。所以我不是在同一个系统上运行Mongo。(URL不是本地主机) 然而,我得到“恐慌:没有可访问的服务器”错误 以下是Go服务器启动时正确运行的测试功能: dialInfo, err0 := mgo.ParseURL("mongodb://1234MY456IP:27017,27018") if err0 != nil { panic(err0) } dialInfo.Direct = true dialInfo

我正在使用mGo作为另一个MongoDB系统的Go Web应用程序的驱动程序。所以我不是在同一个系统上运行Mongo。(URL不是本地主机)

然而,我得到“恐慌:没有可访问的服务器”错误

以下是Go服务器启动时正确运行的测试功能:

dialInfo, err0 := mgo.ParseURL("mongodb://1234MY456IP:27017,27018")
if err0 != nil {
    panic(err0)
}
dialInfo.Direct = true
dialInfo.FailFast = true
session, err := mgo.DialWithInfo(dialInfo)
if err != nil {
    panic(err)
}
defer session.Close()
类似问题的答案之一是确保MongoDB在
netstat
ps
上运行

除了ps和bash之外,我没有看到任何进程在ps上运行。我也没有在netstat上看到它

我已经运行了sudo服务mongodstart/stop/restart,并使用mongoshell进行了测试。我做错了什么


Err0和err打印相同的错误消息。

首先,URI应遵循URI格式

[mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]
有关更多信息,请参阅

如果您正在连接MongoDB Atlas(或您的服务器需要SSL),请参阅


其次,确保可以从应用服务器访问MongoDB服务器。您可以利用测试连接(暂时消除代码问题)

尝试检查从mgo.ParseURL返回的错误,此示例将忽略可能返回的任何错误。另外,尝试
telnet IP:PORT
以确保您可以连接到目标主机/PORT更新代码并返回相同的错误。telnet只是暂停。我的AWS设置打开了端口,不确定发生了什么。我在不久前修复了这个问题,但那一定是问题所在:mgo URI格式不正确。谢谢你的回答!