class documentation

A view into a Document in a dataset.

Like Document instances, the fields of a DocumentView instance can be modified, new fields can be created, and any changes can be saved to the database.

DocumentView instances differ from Document instances in the following ways:

  • A document view may contain only a subset of the fields of its source document, either by selecting and/or excluding specific fields
  • A document view may contain array fields or embedded array fields that have been filtered, thus containing only a subset of the array elements from the source document
  • Excluded fields of a document view may not be accessed or modified

Note

DocumentView.save will not delete any excluded fields or filtered array elements from the source document.

Document views should never be created manually; they are generated when accessing the contents of a fiftyone.core.view.DatasetView.

Parameters
doca fiftyone.core.odm.document.Document
viewthe fiftyone.core.view.DatasetView that the document belongs to
selected_fieldsa set of field names that this document view is restricted to, if any
excluded_fieldsa set of field names that are excluded from this document view, if any
filtered_fieldsa set of field names of array fields that are filtered in this document view, if any
Method __init__ Undocumented
Method __repr__ Undocumented
Method clear_field Clears the value of a field of the document.
Method copy Returns a deep copy of the document that has not been added to the database.
Method get_field Gets the value of a field of the document.
Method has_field Determines whether the document has the given field.
Method save Saves the document view to the database.
Method set_field Sets the value of a field of the document.
Method to_dict Serializes the document to a JSON dictionary.
Method to_mongo_dict Serializes the document to a BSON dictionary equivalent to the representation that would be stored in the database.
Property excluded_field_names The set of field names that are excluded on this document view, or None if no fields are explicitly excluded.
Property field_names An ordered tuple of field names of this document view.
Property filtered_field_names The set of field names or embedded.field.names that have been filtered on this document view, or None if no fields are filtered.
Property selected_field_names The set of field names that are selected on this document view, or None if no fields are explicitly selected.
Method _get_field_names Returns an ordered tuple of field names of this document.
Method _reload_parents Undocumented
Method _save Undocumented
Method _to_db_fields Undocumented
Instance Variable _excluded_fields Undocumented
Instance Variable _filtered_fields Undocumented
Instance Variable _selected_fields Undocumented
Instance Variable _view Undocumented
Property _collection The fiftyone.core.collections.SampleCollection from which this document was taken, or None if it is not in a dataset.

Inherited from _Document:

Method __contains__ Undocumented
Method __copy__ Undocumented
Method __delattr__ Undocumented
Method __delitem__ Undocumented
Method __dir__ Undocumented
Method __eq__ Undocumented
Method __getattr__ Undocumented
Method __getitem__ Undocumented
Method __setattr__ Undocumented
Method __setitem__ Undocumented
Method __str__ Undocumented
Method iter_fields Returns an iterator over the (name, value) pairs of the public fields of the document.
Method merge Merges the fields of the document into this document.
Method to_json Serializes the document to a JSON string.
Method update_fields Sets the dictionary of fields on the document.
Property dataset The dataset to which this document belongs, or None if it has not been added to a dataset.
Property in_dataset Whether the document has been added to a dataset.
Method _iter_label_fields Undocumented
Method _parse_fields Undocumented
Instance Variable _dataset Undocumented
Instance Variable _doc Undocumented
Property _id The ObjectId of the document, or None if it has not been added to the database.
Property _in_db Whether the document has been inserted into the database.
def __init__(self, doc, view, selected_fields=None, excluded_fields=None, filtered_fields=None): (source)
def clear_field(self, field_name): (source)

Clears the value of a field of the document.

Parameters
field_namethe name of the field to clear
Raises
AttributeErrorif the field does not exist
def copy(self, fields=None, omit_fields=None): (source)

Returns a deep copy of the document that has not been added to the database.

Parameters
fields:Nonean optional field or iterable of fields to which to restrict the copy. This can also be a dict mapping existing field names to new field names
omit_fields:Nonean optional field or iterable of fields to exclude from the copy
Returns
a Document
def get_field(self, field_name): (source)

Gets the value of a field of the document.

Parameters
field_namethe field name
Returns
the field value
Raises
AttributeErrorif the field does not exist
def has_field(self, field_name): (source)

Determines whether the document has the given field.

Parameters
field_namethe field name
Returns
True/False
def save(self): (source)

Saves the document view to the database.

def set_field(self, field_name, value, create=True, validate=True, dynamic=False): (source)

Sets the value of a field of the document.

Parameters
field_namethe field name
valuethe field value
create:Truewhether to create the field if it does not exist
validate:Truewhether to validate values for existing fields
dynamic:Falsewhether to declare dynamic embedded document fields
Raises
ValueErrorif field_name is not an allowed field name
AttributeErrorif the field does not exist and create == False
def to_dict(self, include_private=False): (source)

Serializes the document to a JSON dictionary.

Parameters
include_private:Falsewhether to include private fields
Returns
a JSON dict
def to_mongo_dict(self, include_id=False): (source)

Serializes the document to a BSON dictionary equivalent to the representation that would be stored in the database.

Parameters
include_id:Falsewhether to include the document ID
Returns
a BSON dict
@property
excluded_field_names = (source)

The set of field names that are excluded on this document view, or None if no fields are explicitly excluded.

@property
field_names = (source)

An ordered tuple of field names of this document view.

This may be a subset of all fields of the document if fields have been selected or excluded.

@property
filtered_field_names = (source)

The set of field names or embedded.field.names that have been filtered on this document view, or None if no fields are filtered.

@property
selected_field_names = (source)

The set of field names that are selected on this document view, or None if no fields are explicitly selected.

def _get_field_names(self, include_private=False, use_db_fields=False): (source)

Returns an ordered tuple of field names of this document.

Parameters
include_private:Falsewhether to include private fields
use_db_fields:Falsewhether to return database fields
Returns
a tuple of field names
def _reload_parents(self): (source)

Undocumented

def _save(self, deferred=False): (source)
def _to_db_fields(self, field_names): (source)

Undocumented

_excluded_fields = (source)

Undocumented

_filtered_fields = (source)

Undocumented

_selected_fields = (source)

Undocumented

Undocumented

@property
_collection = (source)

The fiftyone.core.collections.SampleCollection from which this document was taken, or None if it is not in a dataset.