title: mongoose findbyidandupdate just passed values
body: <p>So I would like to update only the values of an object that are passed.  </p>
  
  <pre><code>            Event.findByIdAndUpdate(req.body.id, {
              $set: {
                  name: req.body.name,
                  narrative: req.body.narrative,
                  startdate: req.body.startdate,
                  enddate: req.body.enddate,
                  site: req.body.site
              }
              }, {new: true},
              function(err, Event) {
                  if (err) throw err;
  
                  res.send(Event);
              });
  </code></pre>
  
  <p>My function right now will null any fields not defined in the the post request.<br>
  For example if my object has all fields defined and I try to update just the name with:</p>
  
  <pre><code>{
      "id": "57b8fa4752835d8c373ca42d",
      "name": "test"
  }
  </code></pre>
  
  <p>will result in:</p>
  
  <pre><code>{
   "_id": "57b8fa4752835d8c373ca42d",
   "name": "test",
   "narrative": null,
   "startdate": null,
   "enddate": null,
   "site": null,
   "__v": 0,
   "lastupdated": "2016-08-21T00:48:07.428Z",
   "sponsors": [],
   "attendees": []
  }
  </code></pre>
  
  <p>Is there any way to perform this update with out having to pass all the other fields too?</p>