title: Version error on saving Mongoose docs
body: <p>I have an issue - not sure if I am doing something wrong or it's a bug. I have some products - each of these has an array of variations. I want to go through some data and load it in these variations but I experience a number of 'VersionError: No matching document found' errors.</p>
  
  <p>Thinking I was having a race condition (I am sequenctially saving the same document for each of its variations that I modify) I used asyc.eachSeries() but that did not help. Loading the error causing documents one at the time does not yield the error so it seems related to some race condition but I cannot track it down.</p>
  
  <p>Schema:</p>
  
  <pre><code>var Product = new Schema({
    title: {
      type: String,
    },  
    variations: {
      type: Array
    }
  });
  </code></pre>
  
  <p>Sample code:</p>
  
  <pre><code>// Some data to load - the 'variant' is the index of the variations array above
  var records = [{
    code: 'foo',
    id: '50ba9c647abe1789f7000073',
    variant: 0
  }, {
    code: 'bar',
    id: '50ba9c647abe1789f7000073',
    variant: 1
  }, {
    code: 'foobar',
    id: '50ba9c647abe1789f7000073',
    variant: 2
  }];
  
  var iterator = function(item, cb) {
    Product.findById(item.id).exec(function(err, product) {
      if(err) {
        return cb(err);
      }
      if (product) {
        product.variations[item.variant].code = item.code.trim();
        product.markModified('variations');
        product.save(function(err, p) {
          return cb(err);
        });
      } else {
        return cb('Missing product');
      }
    });
  };
  
  async.eachSeries(records, iterator, function(err) {
    process.exit(1);
  });
  </code></pre>