def _clear_fields(cls, sample_collection, paths):
        """Clears the field(s) of the documents in this collection.

        Args:
            sample_collection: the
                :class:`fiftyone.core.samples.SampleCollection`
            paths: an iterable of field names or ``embedded.field.names``
        """
        is_dataset = isinstance(sample_collection, fod.Dataset)

        paths = _remove_nested_paths(paths)

        simple_paths = []
        coll_paths = []

        for path in paths:
            is_root_field = "." not in path
            field = cls._get_field(path, allow_missing=True)

            if field is None and is_root_field:
                raise AttributeError(
                    "%s field '%s' does not exist" % (cls._doc_name(), path)
                )

            if field is not None and getattr(field, "read_only", False):
                raise ValueError(
                    "Cannot rename read-only %s field '%s'"
                    % (cls._doc_name().lower(), path)
                )

            if is_dataset and is_root_field:
                simple_paths.append(path)
            else:
                coll_paths.append(path)

        if simple_paths:
            cls._clear_fields_simple(simple_paths)

        if coll_paths:
            cls._clear_fields_collection(sample_collection, coll_paths)
Clears the field(s) of the documents in this collection.

        Args:
            sample_collection: the
                :class:`fiftyone.core.samples.SampleCollection`
            paths: an iterable of field names or ``embedded.field.names``
        
fiftyone/core/odm/mixins.py