title: Validation error using `create()` in Mongoose transaction
body: <p>I'm testing transactions using mongoose and trying to accomplish a very simple task with the following code:</p>
  
  <pre><code>      const session = await mongoose.startSession();
        session.startTransaction();
        try {
          const opts = { session, new: true };
          const A = await Author.
          create({
            firstName: 'Jon',
            lastName: 'Snow'}, session);
          if(!A) throw new Error('Aborted A by Amit!');
          const B = await Author.
          findOneAndUpdate({firstName: 'Bill'}, {firstName: 'William'}, opts);
          if(!B) throw new Error('Aborted B by Amit!');
          await session.commitTransaction();
          session.endSession();
        } catch (err) {
          await session.abortTransaction();
          session.endSession();
          throw err;
        }
  </code></pre>
  
  <p>All I'm trying to do is first insert (using mongoose <code>create()</code> method) a new document into a collection and then edit (using Mongo <code>findOneAndUpdate()</code> method) another document in the same collection. Failure of either query needs to abort the entire transaction suite.</p>
  
  <p>It's the <code>create()</code> that seems to be giving me problems. The document does get created and inserted, however, it also throws an error:</p>
  
  <blockquote>
    <p>"Author validation failed: lastName: Path <code>lastName</code> is required.,
    firstName: Path <code>firstName</code> is required."</p>
  </blockquote>
  
  <p>Any idea what this could mean? It seems it's complaining about not being given values for <code>required</code> fields (<code>firstName</code> and <code>lastName</code>) despite me having already given it those.</p>