title: Mongoose transactions: Only one query executing, the other being ignored without error
body: <p>I'm trying to test out a very simple transaction involving two updates on the same collection. The idea is, I need both queries to fail if any one of them fails. Here's my code:</p>
  
  <pre><code>      const session = await mongoose.startSession();
        session.startTransaction();
        try {
          const opts = { session, new: true };
          const A = await Author.
          findOneAndUpdate({firstName: 'Red'}, {firstName: 'Gray'}, opts);
          const B = await Author.
          findOneAndUpdate({firstName: 'Bill'}, {firstName: 'William'}, opts);
          await session.commitTransaction();
          session.endSession();
        } catch (err) {
          await session.abortTransaction();
          session.endSession();
          throw err;
        }
  </code></pre>
  
  <p>So for the sake of testing, I'm trying to change the <code>firstName</code> fields in two separate documents in the same collection. I'm deliberately feeding a false condition in the first <code>findOneAndUpdate()</code> (the collection does not have any document with the value <code>Red</code> for <code>firstName</code>). The second condition is positive. However, while the second query executes, the first one doesn't. And <em>mongoose</em> throws no error, nor warning. In a situation like this, I'd like <strong>both</strong> queries to fail, i.e. the transaction to be aborted. How could one accomplish that?</p>