Skip to content

@iamcalegari/mongoat / Optional

Function: Optional()

Optional(): (_value, context) => void

Defined in: src/schema/decorators.ts:120

Marca o campo como opcional — removido de required no Schema.compile (fiel ao rascunho do autor). Diferente dos demais açúcares (src/schema/sugars.ts), Optional NÃO agrega um fragmento em meta.properties — apenas registra o nome do campo em meta.optionalFields, filtrado de required no compile (não no momento em que o decorator roda). Isso torna o resultado idêntico independente da ordem textual entre @Optional() e @Prop/um açúcar no mesmo campo — ver o JSDoc de FieldMeta.optionalFields.

Returns

(_value, context) => void

Example

typescript
class UserSchema {
  @Optional()
  @Prop({ bsonType: 'string' })
  nickname?: string;
}