code: public WriteResult<T, K> update(DBObject query, DBUpdate.Builder update, boolean upsert, boolean multi) throws MongoException {
          return this.update(query, update.serialiseAndGet(objectMapper), upsert, multi);
      }
docs: Performs an update operation.
  
  @param query  search query for old object to update
  @param update update with which to update <tt>query</tt>
  @param upsert if the database should create the element if it does not exist
  @param multi  if the update should be applied to all objects matching (db version 1.1.3 and above). An object will
  not be inserted if it does not exist in the collection and upsert=true and multi=true.
  See <a href="http://www.mongodb.org/display/DOCS/Atomic+Operations">http://www.mongodb.org/display/DOCS/Atomic+Operations</a>
  @return The write result
  @throws MongoException If an error occurred