code: func (p *Pipe) Explain(result interface{}) error {
  	c := p.collection
  	cmd := pipeCmd{
  		Aggregate: c.Name,
  		Pipeline:  p.pipeline,
  		AllowDisk: p.allowDisk,
  		Explain:   true,
  	}
  	return c.Database.Run(cmd, result)
  }
docs: // Explain returns a number of details about how the MongoDB server would
  // execute the requested pipeline, such as the number of objects examined,
  // the number of times the read lock was yielded to allow writes to go in,
  // and so on.
  //
  // For example:
  //
  //     var m bson.M
  //     err := collection.Pipe(pipeline).Explain(&m)
  //     if err == nil {
  //         fmt.Printf("Explain: %#v\n", m)
  //     }
  //