returns a dictionary representation of the document

def export(self, exclude=[]):
        """ returns a dictionary representation of the document
        """
        fields = ( (key, self.get_field(key)) for key in self.schema
            if not key.startswith("_") and key not in exclude )
        
        doc = {name: field.export() for name, field in fields}
        return doc