Skip to main content

Class: ReferenceType

Defined in: schema/types/reference-type.ts:35

The Reference type creates a relationship between two schemas.

Options​

  • required flag to define if the field is mandatory
  • validator that will be applied to the field a validation function, validation object or string with the name of the custom validator
  • default that will define the initial value of the field, this option allows a value or a function
  • immutable that will define this field as immutable. Ottoman prevents you from changing immutable fields if the schema as configure like strict

Example​

const Cat = model('Cat', {name: String});
const schema = new Schema({
type: String,
isActive: Boolean,
name: String,
cats: [{ type: CatSchema, ref: 'Cat' }],
});
const User = model('User', schema);

Extends​

Constructors​

Constructor​

new ReferenceType(name, schema, refModel, options?): ReferenceType

Defined in: schema/types/reference-type.ts:36

Parameters​

name​

string

schema​

Schema

refModel​

string

options?​

CoreTypeOptions

Returns​

ReferenceType

Overrides​

CoreType.constructor

Properties​

name​

name: string

Defined in: schema/interfaces/schema.types.ts:51

Inherited from​

CoreType.name


options?​

optional options: CoreTypeOptions

Defined in: schema/types/core-type.ts:23

Inherited from​

CoreType.options


refModel​

refModel: string

Defined in: schema/types/reference-type.ts:36


schema​

schema: Schema

Defined in: schema/types/reference-type.ts:36


typeName​

typeName: string

Defined in: schema/interfaces/schema.types.ts:51

Inherited from​

CoreType.typeName


sName​

static sName: string = 'Reference'

Defined in: schema/types/reference-type.ts:39

Overrides​

CoreType.sName

Accessors​

default​

Get Signature​

get default(): unknown

Defined in: schema/types/core-type.ts:39

Returns​

unknown

Inherited from​

CoreType.default


required​

Get Signature​

get required(): boolean | RequiredOption | RequiredFunction

Defined in: schema/types/core-type.ts:31

Returns​

boolean | RequiredOption | RequiredFunction

Inherited from​

CoreType.required


validator​

Get Signature​

get validator(): undefined | string | ValidatorFunction | ValidatorOption

Defined in: schema/types/core-type.ts:35

Returns​

undefined | string | ValidatorFunction | ValidatorOption

Inherited from​

CoreType.validator

Methods​

buildDefault()​

buildDefault(): unknown

Defined in: schema/types/core-type.ts:43

Returns​

unknown

Inherited from​

CoreType.buildDefault


cast()​

cast(value): any

Defined in: schema/types/reference-type.ts:41

Parameters​

value​

any

Returns​

any

Overrides​

CoreType.cast


checkRequired()​

checkRequired(): string | void

Defined in: schema/types/core-type.ts:62

Returns​

string | void

Inherited from​

CoreType.checkRequired


checkValidator()​

checkValidator(value): void

Defined in: schema/types/core-type.ts:71

Parameters​

value​

unknown

Returns​

void

Inherited from​

CoreType.checkValidator


isEmpty()​

isEmpty(value): boolean

Defined in: schema/types/core-type.ts:75

Parameters​

value​

unknown

Returns​

boolean

Inherited from​

CoreType.isEmpty


isStrictStrategy()​

isStrictStrategy(strategy): boolean

Defined in: schema/types/core-type.ts:79

Parameters​

strategy​

VALIDATION_STRATEGY

Returns​

boolean

Inherited from​

CoreType.isStrictStrategy


validate()​

validate(value, strategy): any

Defined in: schema/types/reference-type.ts:45

Parameters​

value​

unknown

strategy​

any

Returns​

any

Overrides​

CoreType.validate