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