Remove a binding
        
        Remove an object from the MongoDB storage for caching
        
        Args:
            binding (AtlasServiceBinding.Binding): binding
            
        Raises:
            ErrStorageMongoConnection: Error during MongoDB communication.
            ErrStorageRemoveBinding: Failed to remove the binding

def remove_binding(self, binding):
        """ Remove a binding
        
        Remove an object from the MongoDB storage for caching
        
        Args:
            binding (AtlasServiceBinding.Binding): binding
            
        Raises:
            ErrStorageMongoConnection: Error during MongoDB communication.
            ErrStorageRemoveBinding: Failed to remove the binding
        """
        
        # query
        query = { "binding_id" : binding.binding_id, "instance_id" : binding.instance.instance_id }
        
        # delete the binding
        try:
            result = self.broker.delete_one(query)
        except:
            raise ErrStorageMongoConnection("Remove Binding")

        # return the result
        if result is not None and result.deleted_count == 1:
            binding.provisioned = False
        else:
            raise ErrStorageRemoveBinding(binding.binding_id)