title: Update/upsert with bulkWrite not working
body: <p>I'm having difficulty getting <code>Model.bulkWrite</code> to upsert my documents.  I haven't found anything in the documentation to suggest that this isn't possible (though, maybe I missed it).  Below is a sample of the code I'm using:</p>
  
  <pre><code>var opts = [];
  for (var item of data){
      opts.push({
          updateOne: {
              filter: {"id": item.id},
              update: {"$setOnInsert": {
                      "id": item.id,
                      "name": item.name}
              }
          }
      })
  };
  
  Item.bulkWrite(
      opts,
      {upsert: true},
      function(err, result){
          if(err) throw err;
          console.log(result);
          // do more stuff here
      }
  );
  </code></pre>
  
  <p>I don't have any trouble running multiple update/upserts through a loop, but when I do that I lose access to a callback on when the operation is complete, so that doesn't work for me.  I've also tested the above code replacing the <code>updateOne</code> section with an <code>insertOne</code> section and it works with no problems.</p>
  
  <p>Does anyone have any ideas what's going on?  Is upsert not a valid option here?</p>