title: Mongoose findOneAndUpdate updating as ObjectId
body: <p>I have the following schema:</p>
  
  <pre><code>let PlayerSchema = new mongoose.Schema( {
      name: String,
      country: String,
      roundResults: [ {
          round: Number,
          result: String,
          points: Number
      } ]
  } );
  </code></pre>
  
  <p>When I use <code>findOneAndUpdate</code> to update a document:</p>
  
  <pre><code>Player.findOneAndUpdate({ id: req.params.id },
      {$push: {"roundResults": result }},
      {safe: true, upsert: true, new : true},
      (err, player) =&gt; {
          if( ! err &amp;&amp; player ) {
              res.json( player );
          } else {
              res.json( err );
          }
      }
  );
  </code></pre>
  
  <p>I get the following <strong>unexpected</strong> result:</p>
  
  <pre><code>[
    {
      "_id": "57c9eb55c2a07a401462e3ec",
      "name": "Joe Bloggs",
      "country": "England",
      "__v": 0,
      "roundResults": [
        {
          "_id": "57c9eba11c597d5e1460e4f0"
        }
      ]
    }
  ]
  </code></pre>
  
  <p>I don't have a <code>roundResults</code> schema but, I get an <code>_id</code> as shown above, I would expect to see,:</p>
  
  <pre><code>"roundResults": [
      "round": 1,
      "result": "1",
      "points": 3
  ]
  </code></pre>
  
  <p>Can anyone explain why this is, or how I get this to nest the data I am displaying directly above?</p>