Skip to content

Class: Manager<S, O> ​

Defined in: src/model/manager.ts:26

The .objects manager: the Django-style query/write surface for a model. Query methods return a lazy, chainable QuerySet; writes run through schema validation, unique checks, and create lifecycle hooks.

Type Parameters ​

S ​

S extends SchemaDef

O ​

O extends ModelOptions = ModelOptions

Constructors ​

Constructor ​

new Manager<S, O>(client, name, schema, options, hooks?): Manager<S, O>

Defined in: src/model/manager.ts:27

Parameters ​

client ​

DORMClient

name ​

string

schema ​

S

options ​

O

hooks? ​

ModelHooks = ...

Returns ​

Manager<S, O>

Methods ​

all() ​

all(): QuerySet<S, O>

Defined in: src/model/manager.ts:44

All documents (as an awaitable, chainable QuerySet).

Returns ​

QuerySet<S, O>


filter() ​

filter(where): QuerySet<S, O>

Defined in: src/model/manager.ts:49

Documents matching a field__lookup filter (chainable).

Parameters ​

where ​

FilterInput<S, O>

Returns ​

QuerySet<S, O>


exclude() ​

exclude(where): QuerySet<S, O>

Defined in: src/model/manager.ts:54

Documents NOT matching where (chainable).

Parameters ​

where ​

FilterInput<S, O>

Returns ​

QuerySet<S, O>


order_by() ​

order_by(...fields): QuerySet<S, O>

Defined in: src/model/manager.ts:59

Orders results; prefix a field with - for descending.

Parameters ​

fields ​

...string[]

Returns ​

QuerySet<S, O>


limit() ​

limit(n): QuerySet<S, O>

Defined in: src/model/manager.ts:64

Caps the number of results.

Parameters ​

n ​

number

Returns ​

QuerySet<S, O>


offset() ​

offset(n): QuerySet<S, O>

Defined in: src/model/manager.ts:69

Skips the first n results.

Parameters ​

n ​

number

Returns ​

QuerySet<S, O>


select() ​

select<K>(...fields): QuerySet<S, O, Pick<InferDoc<S, O>, "_id" | K & ("_id" | keyof S | keyof (O["timestamps"] extends true ? Timestamps : unknown))>>

Defined in: src/model/manager.ts:74

Projects only the given fields (plus _id).

Type Parameters ​

K ​

K extends string

Parameters ​

fields ​

...K[]

Returns ​

QuerySet<S, O, Pick<InferDoc<S, O>, "_id" | K & ("_id" | keyof S | keyof (O["timestamps"] extends true ? Timestamps : unknown))>>


populate() ​

populate<K>(...fields): QuerySet<S, O, Populated<InferDoc<S, O>, K>>

Defined in: src/model/manager.ts:79

Hydrates ref fields into the referenced documents.

Type Parameters ​

K ​

K extends string

Parameters ​

fields ​

...K[]

Returns ​

QuerySet<S, O, Populated<InferDoc<S, O>, K>>


session() ​

session(session): QuerySet<S, O>

Defined in: src/model/manager.ts:84

Binds this manager's operations to a transaction session.

Parameters ​

session ​

ClientSession

Returns ​

QuerySet<S, O>


get() ​

get(where?): Promise<InferDoc<S, O>>

Defined in: src/model/manager.ts:89

Exactly one matching document; throws DoesNotExist/MultipleObjectsReturned.

Parameters ​

where? ​

FilterInput<S, O>

Returns ​

Promise<InferDoc<S, O>>


first() ​

first(): Promise<InferDoc<S, O> | null>

Defined in: src/model/manager.ts:94

The first matching document, or null.

Returns ​

Promise<InferDoc<S, O> | null>


exists() ​

exists(): Promise<boolean>

Defined in: src/model/manager.ts:99

Whether any document matches.

Returns ​

Promise<boolean>


count() ​

count(where?): Promise<number>

Defined in: src/model/manager.ts:104

Counts matching documents (all documents when no filter is given).

Parameters ​

where? ​

FilterInput<S, O>

Returns ​

Promise<number>


create() ​

create(data, opts?): Promise<InferDoc<S, O>>

Defined in: src/model/manager.ts:109

Validates, checks unique fields, applies defaults + timestamps, inserts, returns the doc.

Parameters ​

data ​

CreateInput<S>

opts? ​
session? ​

ClientSession

Returns ​

Promise<InferDoc<S, O>>


update() ​

update(where, patch): Promise<{ matched: number; modified: number; }>

Defined in: src/model/manager.ts:132

Partially validates a patch and applies it to every matching document.

Parameters ​

where ​

FilterInput<S, O>

patch ​

UpdateInput<S>

Returns ​

Promise<{ matched: number; modified: number; }>


delete() ​

delete(where): Promise<{ deleted: number; }>

Defined in: src/model/manager.ts:140

Deletes every matching document.

Parameters ​

where ​

FilterInput<S, O>

Returns ​

Promise<{ deleted: number; }>


ensureIndexes() ​

ensureIndexes(): Promise<string[]>

Defined in: src/model/manager.ts:145

Creates the unique/index indexes declared on this model's fields.

Returns ​

Promise<string[]>

Released under the MIT License.