title: MethodOverride PUT not working
body: <p>I am using Node.js, Express and MethodOverride to try and have a form update only 1 part of a model (my user model).</p>
  
  <p>User model:</p>
  
  <pre><code>var userSchema = new mongoose.Schema({
  
  email: { type: String, unique: true, lowercase: true },
    password: String,
  
    profile: {
      name: { type: String, default: 'Company Name' },
      location: { type: String, default: 'Location' },
      website: { type: String, default: 'Your Website' },
      picture: { type: String, default: '' }
    },
  
    assetNumPre: { type: String, default: 'test' }, // this is the one I want to change
  
  });
  
  module.exports = mongoose.model('User', userSchema);
  </code></pre>
  
  <p>HTML form:</p>
  
  <pre><code>&lt;form role="form-inline"action="/dashboard/settings/assetNumber?_method=PUT" method="POST"&gt;
   &lt;div class="col-md-3"&gt;
     &lt;div class="form-group"&gt;
       &lt;label for="prefix" class="control-label"&gt;Prefix for Asset Number&lt;/label&gt;
       &lt;br&gt;
       &lt;small&gt;Any alphanumeric characters to a limit of 6&lt;/small&gt;
       &lt;input type="text" class="form-control" id="prefix" name="prefix" placeholder="Prefix max 6 characters" maxlength="6" value="{{ prefix }}"&gt;
     &lt;/div&gt;&lt;!-- Prefix for Asset Number--&gt;
     &lt;br&gt;
     &lt;div class="box-footer"&gt;
       &lt;button type="submit" class="btn btn-primary"&gt;Submit&lt;/button&gt;
     &lt;/div&gt;
    &lt;/div&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>Then route:</p>
  
  <pre><code>app.put('/dashboard/settings/assetNumber',
  setRender('dashboard/settings/assetNumbers'),
  setRedirect({auth: '/login'}),
  isAuthenticated,
  dashboard.getDefault,
  (req, res) =&gt; {
  var prefix = req.body.prefix;
  console.log(req.params);
  User.findByIdAndUpdate({_id: req.params.user_id}, prefix, function(err, UpdatedUser) {
    if (err) {
      res.send(err);
    }
    console.log(UpdatedUser);
    });
  res.locals.prefix = req.user.assetNumPre;
  });
  </code></pre>
  
  <p>One thing my route is missing is <code>req.user.assetNumPre</code> which is where I need to save it but I have no clue how to do this <code>PUT</code> request. Docs are not helping much either. </p>
  
  <p>I got the route from a Stack Overflow example a few days ago and can't find the link to it. My app.js had method override working because I have done <code>DELETE</code> requests already. The model has the correct field and has a default test value that shows up in my show page. </p>