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
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[]>