title: Mongoose select: false not working on location nested object
body: <p>I want the <code>location</code> field of my schema to be hidden by default.
  I added <code>select: false</code> property to it, but it is always returned when selecting documents...</p>
  
  <pre><code>var userSchema = new mongoose.Schema({
  
  cellphone: {
    type: String,
    required: true,
    unique: true,
  },
  
  location: {
    'type': {
      type: String,
      required: true,
      enum: ['Point', 'LineString', 'Polygon'],
      default: 'Point'
     },
     coordinates: [Number],
     select: false, &lt;-- here
     },
  });
  
  userSchema.index({location: '2dsphere'});
  </code></pre>
  
  <p><strong>When calling :</strong></p>
  
  <p><code>User.find({ }, function(err, result){
    console.log(result[0]);
  });</code></p>
  
  <p><strong>the output is :</strong></p>
  
  <pre><code> {  
      cellphone: '+33656565656',
      location: { type: 'Point', coordinates: [Object] } &lt;-- Shouldn't
   }
  </code></pre>
  
  <p><strong>EDIT :</strong>  Explanation (thanks to @alexmac)</p>
  
  <p>SchemaType select option must be applied to the field options not a type. In you example you've defined a complex type Location and added select option to a type.</p>