Serializing
By default, all entities are monkey patched with toObject()
and toJSON
methods:
When you serialize your entity via JSON.stringify(entity)
, its toJSON
method will be
called automatically. You can provide custom implementation for toJSON
, while using
toObject
for initial serialization:
Do not forget to pass rest params when calling
toObject(...args)
, otherwise the results might not be stable.
#
Hidden propertiesIf you want to omit some properties from serialized result, you can mark them with hidden
flag on @Property()
decorator:
#
Shadow propertiesThe opposite situation where you want to define a property that lives only in memory (is
not persisted into database) can be solved by defining your property as persist: false
.
Such property can be assigned via one of IEntity.assign()
, EntityManager.create()
and
EntityManager.merge()
. It will be also part of serialized result.
This can be handle when dealing with additional values selected via QueryBuilder
or
MongoDB's aggregations.