def _extract_projection_operators(self, fields):
        """Removes and returns fields with projection operators."""
        result = {}
        allowed_projection_operators = set(['$elemMatch'])
        for key, value in iteritems(fields):
            if isinstance(value, dict):
                for op in value:
                    if allowed_projection_operators not in op:
                        raise ValueError('Unsupported projection option: {}'.format(op))
                result[key] = value

        for key in result:
            del fields[key]

        return result
dataset/ETHPy150Open vmalloc/mongomock/mongomock/collection.py/Collection._extract_projection_operators/swapped operands of `not in`