title: Mongoose findByIdAndUpdate not returning correct model
body: <p>I have an issue I've not seen before with the Mongoose findByIdAndUpdate not returning the correct model in the callback.</p>
  
  <p>Here's the code:</p>
  
  <pre><code>    var id = args._id;
      var updateObj = {updatedDate: Date.now()};
      _.extend(updateObj, args);
  
      Model.findByIdAndUpdate(id, updateObj, function(err, model) {
          if (err) {
              logger.error(modelString +':edit' + modelString +' - ' + err.message);
              self.emit('item:failure', 'Failed to edit ' + modelString);
              return;
          }
          self.emit('item:success', model);
      });
  </code></pre>
  
  <p>The original document in the db looks like this:</p>
  
  <pre><code>{
      _id: 1234
      descriptors: Array[2],
      name: 'Test Name 1'
  }
  </code></pre>
  
  <p>The updateObj going in looks like this:</p>
  
  <pre><code>{
      _id: 1234
      descriptors: Array[2],
      name: 'Test Name 2'
  }  
  </code></pre>
  
  <p>The model returned from the callback is identical to the original model, not the updatedObj.
  If I query the db, it has been updated correctly.  It's just not being returned from the database.</p>
  
  <p>This feels like a 'stupid-user' error, but I can't see it.  Any ideas greatly appreciated. </p>