Godeps/_workspace/src/gopkg.in/mgo.v2/session.go
func (s *Session) SelectServers(tags ...bson.D) {
	s.m.Lock()
	s.queryConfig.op.serverTags = tags
	s.m.Unlock()
}
func (s *Session) SelectServers(tags ...bson.D) {
	s.m.Lock()
	s.queryConfig.op.serverTags = tags
	s.m.Unlock()
}
func ( s * Session ) SelectServers ( tags ... bson . D ) { s . m . Lock ( ) s . queryConfig . op . serverTags = tags s . m . Unlock ( ) }
// SelectServers restricts communication to servers configured with the
// given tags. For example, the following statement restricts servers
// used for reading operations to those with both tag "disk" set to
// "ssd" and tag "rack" set to 1:
//
//     session.SelectSlaves(bson.D{{"disk", "ssd"}, {"rack", 1}})
//
// Multiple sets of tags may be provided, in which case the used server
// must match all tags within any one set.
//
// If a connection was previously assigned to the session due to the
// current session mode (see Session.SetMode), the tag selection will
// only be enforced after the session is refreshed.
//
// Relevant documentation:
//
//     http://docs.mongodb.org/manual/tutorial/configure-replica-set-tag-sets
//
SelectServers restricts communication to servers configured with the given tags . For example the following statement restricts servers used for reading operations to those with both tag disk set to ssd and tag rack set to 1 : session . SelectSlaves ( bson . D {{ disk ssd } { rack 1 }} ) Multiple sets of tags may be provided in which case the used server must match all tags within any one set . If a connection was previously assigned to the session due to the current session mode ( see Session . SetMode ) the tag selection will only be enforced after the session is refreshed . Relevant documentation : http : // docs . mongodb . org / manual / tutorial / configure - replica - set - tag - sets