code: public WriteResult update(final DBObject query, final DBObject update, final boolean upsert, final boolean multi) {
          return update(query, update, upsert, multi, getWriteConcern());
      }
docs: 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