Remove all matching documents.

        :param cond: the condition to check against
        :type cond: query
        :param doc_ids: a list of document IDs
        :type doc_ids: list
        :returns: a list containing the removed document's ID

def remove(self, cond=None, doc_ids=None, eids=None):
        """
        Remove all matching documents.

        :param cond: the condition to check against
        :type cond: query
        :param doc_ids: a list of document IDs
        :type doc_ids: list
        :returns: a list containing the removed document's ID
        """
        doc_ids = _get_doc_ids(doc_ids, eids)

        if cond is None and doc_ids is None:
            raise RuntimeError('Use purge() to remove all documents')

        return self.process_elements(
            lambda data, doc_id: data.pop(doc_id),
            cond, doc_ids
        )