title: Unable to update mongoose model
body: <p>I have a weird issue that is baffling me. I have a model:</p>
  
  <pre><code>var Model = new Schema({
      name: String,
      variations: Array
  });
  </code></pre>
  
  <p>The variations entry looks like this:</p>
  
  <pre><code>[ {code: '', price: '' }, {code: '', price: '' }]
  </code></pre>
  
  <p>I need to add a new field - say "color". So I am doing this to batch update:</p>
  
  <pre><code>Model.find().exec(function(err, products) {
      if (!err) {
          products.forEach(function(p) {
              for(var i = p.variations.length - 1; i &gt;= 0; i--) {
                  p.variations[i]['color'] = 'red';
                  // This shows all existing variations 
                  // with the new color feed - correct
                  console.log(p.variations[i]);
              }
              p.save(function(err) {
                  if (!err) {
                      console.log("Success");
                  } else {
                      console.log(err);
                  }
              });
          });     
      }
  });
  </code></pre>
  
  <p>However the "color" field is not set - if I go through again and comment out the <code>p.variations[i]['color'] = 'red';</code> line then it does not show. I can't seem to figure out why it's doing this. I have an onSave event that is triggered correctly so it's saving. I also do not have any check on the variations structure - i.e. there is no code that only allows code and price.  I'm obviously missing something but after a couple of hours I ran out of ideas.</p>