如何在Golang中处理来自mgo的EOF错误

时间:2018-09-26 09:40:33

标签: mongodb go mgo

我很少在日志中看到来自mgo的EOF错误。在搜索此问题时,我遇到了这个discussion,建议在循环开始时放一个session.Refresh()可以安全地处理此问题,例如套接字错误,超时等其他问题。< / p>

但是我找不到我的循环是否应该像这样,其中在每个Refresh()之后重新分配集合(* mgo.Collection):

session := // create mgo session
var collection *mgo.Collection

for{
    session.Refresh()

    collection := session.DB("dbname").C("collectionName")
    ....
}

或如下所示,其中在循环外分配一次集合:

session := // create mgo session
collection := session.DB("dbname").C("collectionName")
for{
    session.Refresh()

    ....
}

发布此信息是因为我无法随意模拟此问题

0 个答案:

没有答案