title: Mongoose findOneAndUpdate throw "Retryable writes are not supported" error when working with aws Documentdb
body: <p>I have a schema as follows:</p>
  <pre><code>var answerSchema = new mongoose.Schema({
    username: {
      type: String,
      unique: true,
      required: true
    }
  )
  mongoose.model(&quot;Answer&quot;, answerSchema)
  </code></pre>
  <p>and in another file I have:</p>
  <pre><code>var Answer = mongoose.model(&quot;Answer&quot;)
  router.put(&quot;/test&quot;, function (req, res){
    const query = { _id: &quot;5fe656077ddb2a4e1a91d808&quot;}
    const update = { username: 'test' }
    const options = {
      new: true,
      upsert: true,
      setDefaultsOnInsert: true
    }
    
    Answer.findOneAndUpdate(query, update, options, function(error, doc) {
        if(error){
          res.send(error.message)
        }
        else{
          res.send('successfully saved.')
        }
      })
  })
  </code></pre>
  <p>Currently in the mongo shell, I can run db.answers.find().pretty() and it gives me:</p>
  <pre><code>{
          &quot;_id&quot; : ObjectId(&quot;5fe656077ddb2a4e1a91d808&quot;),
          &quot;username&quot; : &quot;aaaa&quot;,
          &quot;__v&quot; : 0
  }
  </code></pre>
  <p>However, when I use POSTMAN to access the &quot;/test&quot; URL, I get an error &quot;Retryable writes are not supported&quot;. I know documentdb doesn't support retryable writes, but how does this FindOneAndUpdate require retryable writes? I also tried using set() and save() with findOne(), and the findOne() works fine, but the set() throws the same error. Did I miss something here?</p>