title: Mongoose Returned Model can't be updated
body: <p>I'm pretty new to Mongoose/Mongo and node.js, so I suspect this is just a misunderstanding on my side, but...</p>
  
  <p>The code sample below is the smallest failing example, not specifically my use case.</p>
  
  <pre><code>var User = app.db.model('User');
  User.find({email: 'm8@test.com'}, function (err, models) {
      models[0].update(function(err, mod) {
          console.log(err.message)
      });
  });
  </code></pre>
  
  <p>This results in the following error: <strong>After applying the update to the document {_id: ObjectId('54647402cb955748153ea782') , ...}, the (immutable) field '_id' was found to have been altered to _id: ObjectId('546d9e0e539ed9ec102348f9')</strong></p>
  
  <p>Why is this happening?  I would have thought calling update on the model returned from the initial find would have been fine.</p>
  
  <p>Please note: in my use case there are things happening in between the find and the update.  Specifically, I'm doing something similar to:</p>
  
  <pre><code>model.property.push(objectId)
  </code></pre>
  
  <p>Which I then want to commit via the update.</p>
  
  <p>I'm sure this is a straight-forward issue, but I can't see anywhere in the docs I may be getting it wrong.</p>
  
  <p>All help appreciated.</p>
  
  <h2>UPDATE:</h2>
  
  <p>What I actually needed to do was:</p>
  
  <pre><code>var User = app.db.model('User');
  User.find({email: 'm8@test.com'}, function (err, models) {
      models[0].save(function(err, mod) {
          console.log(err.message)
      });
  });
  </code></pre>
  
  <p>Using 'save' rather than 'update'</p>