@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;
}