我正在使用mGo作为Go Web App到另一个MongoDB系统的驱动程序。因此,我不在同一系统上运行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。
netstat
ps
除了ps和bash之外,我没有在ps上运行任何进程。我也没有在netstat上看到它。
那就是我已经运行过sudo服务mongod start / stop / restart并使用mongo shell进行了测试。我究竟做错了什么?
Err0和err打印相同的错误消息。
首先,URI应该遵循mgo URI格式
[mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]
有关更多信息,请参见mgo.v2 Dial func。
其次,确保可以从应用程序服务器访问MongoDB服务器。您可以利用mongo shell测试连接(暂时消除代码问题)。