title: Update Document including empty fields via Mongoose
body: <p>I'm sending the following object for mongoose to update:</p>
  
  <pre><code>{
    "name" : "John",
    "fruit" : "5a3d678d9b1549979d81c6ba" // this is an objectID
  }
  </code></pre>
  
  <p>and the method:</p>
  
  <pre><code>db_user.findByIdAndUpdate(req.params.id, req.body).then(function(user, err) {
    res.send(user);
  });
  </code></pre>
  
  <p>This works fine if I replace the fruit with another fruitID which is what I'm trying to update.</p>
  
  <p>However, if I send an object with no fruit, it won't remove the fruit field from the user document. Such as:</p>
  
  <pre><code>{
    "name" : "John"
  }
  </code></pre>
  
  <p>It will update whatever name I pass, but it won't remove the fruit field. Why?</p>
  
  <p>Also: I can't be checking for each field that I'm sending or not and do an <code>$unset</code> for each accordingly, because I'm sending a lot of fields. I just want Mongoose to override the old document with the new one.</p>