title: Does Mongoose upsert operation update/renew default schema values?
body: <p>Mongoose Schema:</p>
  
  <pre><code>new Schema({
      ...
      createDate: { type: Date, default: Date.now },
      updateDate: { type: Date, default: Date.now }
  });
  </code></pre>
  
  <p>Upsert operation:</p>
  
  <pre><code>const upsertDoc = {
  ...
  }
  
  Model.update({ key: 123 }, upsertDoc, { upsert: true })
  </code></pre>
  
  <p>when I upsert  with <code>update</code> or <code>findOneAndUpdate</code> the default schema values <code>createDate</code> and <code>updateDate</code> are always renewed no matter document is inserted or updated. It's same when I use <code>$set</code> (in which of course I don't pass dates).</p>
  
  <p>I don't seem to find anything to tell if it's an expected behavior. I expect dates to be added only on insert and not update, unless explicitly set. </p>