我使用mGo作为我的Go Web App驱动程序到另一个MongoDB系统。所以我没有在同一个系统上运行Mongo。 (URL不是localhost)。
然而,我感到恐慌:没有可达到的服务器"错误。
以下是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 service mongod start / stop / restart并使用mongo shell进行测试。我做错了什么?
Err0和err打印相同的错误消息。
答案 0 :(得分:2)
首先,URI应遵循mgo URI格式
[mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]
有关详细信息,请参阅mgo.v2 Dial func。
如果您要连接到MongoDB Atlas(或您的服务器需要SSL),请参阅Connecting to MongoDB Atlas using mgo
其次,确保您可以从应用程序服务器访问MongoDB服务器。您可以使用mongo shell来测试连接(暂时消除代码问题)。