func (q *Query) Select(selector interface{}) *Query {
	q.m.Lock()
	q.op.selector = selector
	q.m.Unlock()
	return q
}
func (q *Query) Select(selector interface{}) *Query {
	q.m.Lock()
	q.op.selector = selector
	q.m.Unlock()
	return q
}
func ( q * Query ) Select ( selector interface { } ) * Query { q . m . Lock ( ) q . op . selector = selector q . m . Unlock ( ) return q }
// Select enables selecting which fields should be retrieved for the results
// found. For example, the following query would only retrieve the name field:
//
//     err := collection.Find(nil).Select(bson.M{"name": 1}).One(&result)
//
// Relevant documentation:
//
//     http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields
//
Select enables selecting which fields should be retrieved for the results found . For example the following query would only retrieve the name field : err : = collection . Find ( nil ) . Select ( bson . M { name : 1 } ) . One ( &result ) Relevant documentation : http : // www . mongodb . org / display / DOCS / Retrieving + a + Subset + of + Fields