Only partially update objects (using $set and $unset) when updates occur.

Note: this does not use ActiveModel::Dirty as ActiveModel::Dirty doesn't find in place changes (such as appending to an array or calling gsub! on a string).

Partial Updates can be turned on or off per class (by default they are off):

  class Person
    include MongoMapper::Document
    self.partial_updates = false
  end