code: func (m *MongoCache) get(key string) (*Document, error) {
  	keyValue := new(Document)
  
  	query := func(c *mgo.Collection) error {
  		return c.Find(bson.M{
  			"_id": key,
  			"expireAt": bson.M{
  				"$gt": time.Now().UTC(),
  			}}).One(&keyValue)
  	}
  
  	err := m.run(m.CollectionName, query)
  	if err != nil {
  		return nil, err
  	}
  
  	return keyValue, nil
  }
docs: // getKey fetches the key with its key