The difference between the O+ blood type and the O- blood type is that even though they both belong to the blood group O, the O+ type has rhesus factor (an antigen which may be present on the blood) on the red blood cells while O- does not have Rhesus Factor on the red blood cells.
O- can only get blood from O- donors because the O- red blood cell would have no antigen on it (neither the A, B or Rhesus Factor Antigen). As a result if they obtain blood from any other blood type then their white blood cells would attack the red blood cells due to the the presence of foreign bodies in the form of the antigen on that blood.