title: Mongoose: findOneAndUpdate doesn't return updated document
body: <p>Below is my code</p>
  
  <pre><code>var mongoose = require('mongoose');
  mongoose.connect('mongodb://localhost/test');
  
  var Cat = mongoose.model('Cat', {
      name: String,
      age: {type: Number, default: 20},
      create: {type: Date, default: Date.now} 
  });
  
  Cat.findOneAndUpdate({age: 17}, {$set:{name:"Naomi"}},function(err, doc){
      if(err){
          console.log("Something wrong when updating data!");
      }
  
      console.log(doc);
  });
  </code></pre>
  
  <p>I already have some record in my mongo database and I would like to run this code to update name for which age is 17 and then print result out in the end of code.</p>
  
  <p>However, why I still get same result from console(not the modified name) but when I go to mongo db command line and type "<code>db.cats.find();</code>". The result came with modified name.</p>
  
  <p>Then I go back to run this code again and the result is modified.</p>
  
  <p>My question is:  If the data was modified, then why I still got original data at first time when console.log it.</p>