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.