Bash Go和MongoDB连接获胜';“不要使用紧急日志”;“无可访问服务器”;
我正在使用mGo作为另一个MongoDB系统的Go Web应用程序的驱动程序。所以我不是在同一个系统上运行Mongo。(URL不是本地主机) 然而,我得到“恐慌:没有可访问的服务器”错误 以下是Go服务器启动时正确运行的测试功能: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
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格式不正确。谢谢你的回答!