Technical and Implementation Notes

Deleting Members

Deleting a value is implemented through setting the value of a DocumentFragment. This is done so the Document can keep track of fragments in its cache, as well as bump its revision.

Schema dictionary

The schema generated by a JSONDocumentField records all arguments passed to the constructor of the field, as well as a reference to itself through ‘__field’, in a similar way that the fragment implementation class is recorded in ‘__fragment_cls’.