Class: Schema<T>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:301
The AmbitenSchema class allows you to define a schema for MongoDB documents. It supports:
- schema definition
- custom validation
- indexes
- relationships
- virtual fields
- context-aware middleware
- garbage collection metadata
Extends
Type Parameters
T
Constructors
Constructor
new Schema<
T>(schemaDefinition):Schema<T>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:302
Parameters
schemaDefinition
Returns
Schema<T>
Overrides
Methods
addRelationship()
addRelationship(
ref,localField):void
Defined in: packages/core/src/lib-core/ambitenSchema.ts:138
Adds a relationship to the schema.
Parameters
ref
string
localField
keyof T
Returns
void
Inherited from
applyIndexes()
applyIndexes(
collection):Promise<void>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:129
Applies all defined indexes to a MongoDB collection.
Parameters
collection
Collection<any>
Returns
Promise<void>
Inherited from
applyVirtuals()
applyVirtuals(
doc):void
Defined in: packages/core/src/lib-core/ambitenSchema.ts:159
Applies all virtual fields to a document.
Parameters
doc
T
Returns
void
Inherited from
create()
create(
data):Promise<T>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:307
Parameters
data
OptionalUnlessRequiredId<T>
Returns
Promise<T>
executeMiddleware()
executeMiddleware(
phase,operation,ctx):Promise<void>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:256
Executes middleware for a given phase and operation.
Parameters
phase
"pre" | "post"
operation
ctx
Returns
Promise<void>
Inherited from
AmbitenSchema.executeMiddleware
executePost()
executePost(
operation,ctx):Promise<void>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:243
Executes post-middleware for an operation.
Parameters
operation
ctx
Returns
Promise<void>
Inherited from
executePre()
executePre(
operation,ctx):Promise<void>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:230
Executes pre-middleware for an operation.
Parameters
operation
ctx
Returns
Promise<void>
Inherited from
getGCConfig()
getGCConfig():
GCConfig|undefined
Defined in: packages/core/src/lib-core/ambitenSchema.ts:296
Gets garbage collection configuration.
Returns
GCConfig | undefined
Inherited from
getHooks()
getHooks(
operation,phase?):AmbitenMiddlewareHandler<T>[]
Defined in: packages/core/src/lib-core/ambitenSchema.ts:218
Backward-compatible hook reader. Defaults to pre hooks to avoid breaking older callers that expect getHooks(action).
Parameters
operation
phase?
"pre" | "post"
Returns
Inherited from
getPostHooks()
getPostHooks(
operation):AmbitenMiddlewareHandler<T>[]
Defined in: packages/core/src/lib-core/ambitenSchema.ts:208
Returns all post-middleware for an operation.
Parameters
operation
Returns
Inherited from
getPreHooks()
getPreHooks(
operation):AmbitenMiddlewareHandler<T>[]
Defined in: packages/core/src/lib-core/ambitenSchema.ts:199
Returns all pre-middleware for an operation.
Parameters
operation
Returns
Inherited from
getRelationships()
getRelationships():
Relationship<any>[]
Defined in: packages/core/src/lib-core/ambitenSchema.ts:145
Retrieves all relationships defined in the schema.
Returns
Relationship<any>[]
Inherited from
AmbitenSchema.getRelationships
getSchema()
getSchema():
SchemaDefinition<T>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:62
Retrieves the schema definition.
Returns
Inherited from
index()
index(
fields,options?):void
Defined in: packages/core/src/lib-core/ambitenSchema.ts:122
Adds an index to the schema.
Parameters
fields
any
options?
any
Returns
void
Inherited from
post()
post(
operation,fn):this
Defined in: packages/core/src/lib-core/ambitenSchema.ts:185
Adds a post-middleware handler for a specific operation.
Parameters
operation
fn
Returns
this
Inherited from
pre()
pre(
operation,fn):this
Defined in: packages/core/src/lib-core/ambitenSchema.ts:171
Adds a pre-middleware handler for a specific operation.
Parameters
operation
fn
Returns
this
Inherited from
registerSchema()
registerSchema(
schemaDefinition):void
Defined in: packages/core/src/lib-core/ambitenSchema.ts:69
Re-registers the schema definition.
Parameters
schemaDefinition
Returns
void
Inherited from
setGCConfig()
setGCConfig(
config):this
Defined in: packages/core/src/lib-core/ambitenSchema.ts:288
Sets garbage collection configuration.
Parameters
config
Returns
this
Inherited from
triggerMiddleware()
triggerMiddleware(
phase,operation,ctx):Promise<void>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:277
Backward-compatible alias. If older callers use triggerMiddleware(action, data), they should be upgraded to pass explicit phase + operation + context.
Parameters
phase
"pre" | "post"
operation
ctx
Returns
Promise<void>
Inherited from
AmbitenSchema.triggerMiddleware
validate()
validate(
doc):void
Defined in: packages/core/src/lib-core/ambitenSchema.ts:88
Validates a document synchronously. Throws if an async validator is encountered.
Parameters
doc
OptionalUnlessRequiredId<T>
Returns
void
Inherited from
validateAsync()
validateAsync(
doc):Promise<void>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:108
Validates a document asynchronously.
Parameters
doc
OptionalUnlessRequiredId<T>
Returns
Promise<void>
Inherited from
validator()
validator(
field,fn):void
Defined in: packages/core/src/lib-core/ambitenSchema.ts:77
Adds a custom validator for a specific field.
Parameters
field
string
fn
(value, doc?) => boolean | Promise<boolean>
Returns
void
Inherited from
virtual()
virtual(
name,getter):void
Defined in: packages/core/src/lib-core/ambitenSchema.ts:152
Adds a virtual field to the schema.
Parameters
name
string
getter
(doc) => any
Returns
void
Inherited from
create()
staticcreate<T>(schemaDefinition):Schema<T>
Defined in: packages/core/src/lib-core/ambitenSchema.ts:333
Type Parameters
T
Parameters
schemaDefinition
Returns
Schema<T>
