Creates a new instance of a field
The collection this field is attached to
The display hints specified for this field
Whether or not the field handles large data
the name of the field
Whether or not this field should always have a value. Creating a resource with a value missing for a required field will throw an error
Reverse to the Field.encode function. Takes what's inside the database and returns the value in a given format
Whether or not the db should create a fulltext index on this field
The default value that will be assigned to the field if no value is given
Return a summary of this field
Value path is where inside a single record should the DB look for the field's value when filtering resources. Some fields use complex objects for storage and overwrite this method, and thanks to that they don't have to reimplement Field.getAggregationStages
Whether or not a field has a default value - that is, a value given to the field if no value is provided
Runs when the app is being started. Hooks can be set up within this function
Whether or not any of the methods of the field depend on the previous value of the field
Create a new instance of Field based on the definition. **It's recommended to use FieldDefinitionHelper instead
Used to signal a negative decition from within Field.isProperValue.
Used to signal a positive decision from within Field.isProperValue.
Generated using TypeDoc
A reference to other item, in the same or other collection. Can point at items from only one, specified collection. Items with field of this type can be filtered by fields of the items it points at. Examples below.
Params
target_collection
- ()=>Collection - the collection that this field points atfilter
- any - (optional) if provided, only items matching this filter can be referencedFiltering
Items from a collection with this type of field can be filtered by fields of the items they point at. For example, let's assume we have a collection of People:
``` Collection.fromDefinition( app, { name: "people", fields: [ field("name", FieldTypes.Text), field("age", FieldTypes.Int), field("best_friend", FieldTypes.SingleReference, {target_collection: ()=>app.collections.people}) ] ); ```
Then we can perform a search for all people who have a best_friend named "John":
{filter: {best_friend: {name: "John"}}}