title: Passport.js - return partial user object
body: <p>So I'm using passport.js authentication and storing several subdocuments that are relevant to my User model:</p>
  
  <pre><code>var UserSchema = new Schema({
    fullName: {
      type: String,
      trim: true,
      default: ''
    },
    actions: [{
      title: String,
      step: Number,
      addIf: [String],
      added: { type: Date, default: Date.now }
    }]
  });
  </code></pre>
  
  <p>I'm new to passport, but curious to know how I can configure it to provide only a part of this User Model during the log in process, akin to:</p>
  
  <pre><code>User.findOne({
    _id: id
  }, '-actions', function(err, user) {
    // get user object
  });
  </code></pre>
  
  <p>Where is the best place to add this middleware?</p>
  
  <p>EDIT: attempted through <code>deserializeUser</code>. Any reason why this wouldn't work?</p>
  
  <pre><code>  passport.deserializeUser(function(id, done) {
      User.findOne({
        _id: id
      }, '-salt -password -actions', function(err, user) {
        done(err, user);
      });
    });
  </code></pre>