public WriteResult update(final DBObject query, final DBObject update, final boolean upsert, final boolean multi) {
        return update(query, update, upsert, multi, getWriteConcern());
    }
public WriteResult update ( final DBObject query , final DBObject update , final boolean upsert , final boolean multi ) { return update ( query , update , upsert , multi , getWriteConcern ( ) ) ; }
Modify an existing document or documents in collection. The query parameter employs the same query selectors, as used in {@code
find()}.

@param query  the selection criteria for the update
@param update the modifications to apply
@param upsert when true, inserts a document if no document matches the update query criteria
@param multi  when true, updates all documents in the collection that match the update query criteria, otherwise only updates one
@return the result of the operation
@throws com.mongodb.DuplicateKeyException if the write failed to a duplicate unique key
@throws com.mongodb.WriteConcernException if the write failed due some other failure specific to the update command
@throws MongoException if the operation failed for some other reason
@mongodb.driver.manual tutorial/modify-documents/ Modify Documents