dont know about gomongo.. but using go-mongo:
github.com/garyburd/go-mongo is there a connection pool already coded is this version of the driver..
using as a open/close:
c, err := mongo.Dial(address)
defer c.Close()
or pooled:
at server start:
pool := mongo.NewPool(mongo.Dial, 0)
getting the connection at http request:
c, err := pool.Get()
and when your server were shuting down..
pool.Close()..
to that driver or.. open to go/doc/codewalk/urlpoll.go for a fancy example of polling using channels.. (the same used by go-mongo/pool.go)