Skip to main content

Class: ReferenceType

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);

Hierarchy

Constructors

constructor

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

Parameters

NameType
namestring
schemaSchema
refModelstring
options?CoreTypeOptions

Overrides

CoreType.constructor

Defined in

schema/types/reference-type.ts:36

Properties

name

name: string

Inherited from

CoreType.name

Defined in

schema/interfaces/schema.types.ts:51


options

Optional options: CoreTypeOptions

Inherited from

CoreType.options

Defined in

schema/types/core-type.ts:23


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

Inherited from

CoreType.typeName

Defined in

schema/interfaces/schema.types.ts:51


sName

Static sName: string = 'Reference'

Overrides

CoreType.sName

Defined in

schema/types/reference-type.ts:39

Accessors

default

get default(): unknown

Returns

unknown

Inherited from

CoreType.default

Defined in

schema/types/core-type.ts:39


required

get required(): boolean | RequiredOption | RequiredFunction

Returns

boolean | RequiredOption | RequiredFunction

Inherited from

CoreType.required

Defined in

schema/types/core-type.ts:31


validator

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

Returns

undefined | string | ValidatorFunction | ValidatorOption

Inherited from

CoreType.validator

Defined in

schema/types/core-type.ts:35

Methods

buildDefault

buildDefault(): unknown

Returns

unknown

Inherited from

CoreType.buildDefault

Defined in

schema/types/core-type.ts:43


cast

cast(value): any

Parameters

NameType
valueany

Returns

any

Overrides

CoreType.cast

Defined in

schema/types/reference-type.ts:41


checkRequired

checkRequired(): string | void

Returns

string | void

Inherited from

CoreType.checkRequired

Defined in

schema/types/core-type.ts:62


checkValidator

checkValidator(value): void

Parameters

NameType
valueunknown

Returns

void

Inherited from

CoreType.checkValidator

Defined in

schema/types/core-type.ts:71


isEmpty

isEmpty(value): boolean

Parameters

NameType
valueunknown

Returns

boolean

Inherited from

CoreType.isEmpty

Defined in

schema/types/core-type.ts:75


isStrictStrategy

isStrictStrategy(strategy): boolean

Parameters

NameType
strategyVALIDATION_STRATEGY

Returns

boolean

Inherited from

CoreType.isStrictStrategy

Defined in

schema/types/core-type.ts:79


validate

validate(value, strategy): any

Parameters

NameType
valueunknown
strategyany

Returns

any

Overrides

CoreType.validate

Defined in

schema/types/reference-type.ts:45